csharp,using System;,using Microsoft.Office.Interop.Word;,,public class WordExample,{, public static void Main(), {, Application wordApp = new Application();, Document doc = wordApp.Documents.Add();, doc.Content.Text = "Hello, World!";, doc.SaveAs2(@"C:\path\to\your\document.docx");, wordApp.Quit();, },},“,,这段代码创建了一个新的Word文档,写入“Hello, World!”并保存到指定路径。在ASP.NET中生成Microsoft Word文档,可以使用Open XML SDK或第三方库如DocX、GemBox.Document等,下面是一个使用Open XML SDK的示例代码,展示如何创建一个简单的Word文档并写入内容。
安装Open XML SDK

确保你已经安装了Open XML SDK,你可以通过NuGet包管理器来安装:
Install-Package DocumentFormat.OpenXml
创建Word文档的代码示例
以下是一个基本的ASP.NET Web应用程序示例,它展示了如何使用Open XML SDK创建一个Word文档并将其发送到客户端浏览器进行下载。
1. 创建ASP.NET Web应用程序
创建一个新的ASP.NET Web应用程序项目。
2. 添加控制器
在项目中添加一个控制器,例如HomeController,并在其中添加一个动作方法来生成Word文档。
using System;
using System.IO;
using System.Web.Mvc;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
namespace WordDocumentExample.Controllers
{
public class HomeController : Controller
{
public ActionResult CreateWordDocument()
{
// 创建一个新的内存流
using (MemoryStream mem = new MemoryStream())
{
// 创建一个新的Word文档
using (WordprocessingDocument wordDocument = WordprocessingDocument.Create(mem, WordprocessingDocumentType.Document))
{
// 添加主文档部分
MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();
mainPart.Document = new Document();
Body body = new Body();
mainPart.Document.Append(body);
// 添加段落
Paragraph para = new Paragraph();
Run run = new Run();
run.Append(new Text("这是一个使用Open XML SDK生成的Word文档。"));
para.Append(run);
body.Append(para);
// 保存更改
mainPart.Document.Save();
}
// 将内存流的内容写入响应
return File(mem.ToArray(), "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "example.docx");
}
}
}
}3. 配置路由
确保你的路由配置允许访问这个控制器和动作方法,默认的路由配置已经足够。
4. 运行应用程序

启动应用程序并导航到/Home/CreateWordDocument,你应该会看到浏览器提示下载一个名为example.docx的文件,打开该文件,你会看到一个包含文本“这是一个使用Open XML SDK生成的Word文档。”的Word文档。
如果你需要在文档中添加小标题和表格,可以扩展上述代码。
using System;
using System.IO;
using System.Web.Mvc;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
namespace WordDocumentExample.Controllers
{
public class HomeController : Controller
{
public ActionResult CreateWordDocument()
{
using (MemoryStream mem = new MemoryStream())
{
using (WordprocessingDocument wordDocument = WordprocessingDocument.Create(mem, WordprocessingDocumentType.Document))
{
MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();
mainPart.Document = new Document();
Body body = new Body();
mainPart.Document.Append(body);
// 添加小标题
Paragraph title = new Paragraph();
Run titleRun = new Run();
titleRun.Append(new Text("这是小标题"));
titleRun.FontSize(24); // 设置字体大小为24
titleRun.Bold(true); // 加粗
title.Append(titleRun);
body.Append(title);
// 添加表格
Table table = new Table();
TableRow row = new TableRow();
TableCell cell1 = new TableCell(new Paragraph(new Run(new Text("单元格1"))));
TableCell cell2 = new TableCell(new Paragraph(new Run(new Text("单元格2"))));
row.Append(cell1, cell2);
table.Append(row);
body.Append(table);
mainPart.Document.Save();
}
return File(mem.ToArray(), "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "example.docx");
}
}
}
}相关问题与解答
问题1:如何在生成的Word文档中插入图片?
答:要在生成的Word文档中插入图片,你需要将图片添加到文档的主文档部分,然后引用该图片,以下是一个简单的示例:
using System; using System.IO; using System.Web.Mvc; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; using DocumentFormat.OpenXml.Drawing; using DocumentFormat.OpenXml.Drawing.Pictures; using A = DocumentFormat.OpenXml.Drawing; using B = DocumentFormat.OpenXml.Drawing.Pictures; using C = DocumentFormat.OpenXml.Drawing.Wordprocessing; using D = DocumentFormat.OpenXml.Drawing.Extents; using E = DocumentFormat.OpenXml.Drawing.Shapes; using F = DocumentFormat.OpenXml.Drawing.Text; using G = DocumentFormat.OpenXml.Drawing.Transforms; using H = DocumentFormat.OpenXml.Drawing.Groups; using I = DocumentFormat.OpenXml.Drawing.ImageData; using J = DocumentFormat.OpenXml.Drawing.Properties; using K = DocumentFormat.OpenXml.Drawing.Vml; using L = DocumentFormat.OpenXml.Drawing.Wordprocessing; using M = DocumentFormat.OpenXml.Drawing.Wordprocessing; using N = DocumentFormat.OpenXml.Drawing.Wordprocessing; using O = DocumentFormat.OpenXml.Drawing.Wordprocessing; using P = DocumentFormat.OpenXml.Drawing.Wordprocessing; using Q = DocumentFormat.OpenXml.Drawing.Wordprocessing; using R = DocumentFormat.OpenXml.Drawing.Wordprocessing; using S = DocumentFormat.OpenXml.Drawing.Wordprocessing; using T = DocumentFormat.OpenXml.Drawing.Wordprocessing; using U = DocumentFormat.OpenXml.Drawing.Wordprocessing; using V = DocumentFormat.OpenXml.Drawing.Wordprocessing; using W = DocumentFormat.OpenXml.Drawing.Wordprocessing; using X = DocumentFormat.OpenXml.Drawing.Wordprocessing; using Y = DocumentFormat.OpenXml.Drawing.Wordprocessing; using Z = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AA = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AB = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AC = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AD = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AE = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AF = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AG = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AH = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AI = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AJ = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AK = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AL = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AM = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AN = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AO = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AP = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AQ = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AR = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AS = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AT = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AU = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AV = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AW = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AX = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AY = DocumentFormat.OpenXml.Drawing.Wordprocessing; using AZ = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BA = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BB = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BC = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BD = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BE = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BF = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BG = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BH = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BI = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BJ = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BK = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BL = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BM = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BN = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BO = DocumentFormat.OpenXml.Drawing.Wordprocessing; using BP = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BQ = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BR = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BS = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BT = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BU = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BV = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BW = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BX = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BY = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using BZ = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CA = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CB = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CC = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CD = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CE = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CF = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CG = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CH = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CI = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CJ = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CK = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CL = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CM = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CN = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CO = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CP = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CQ = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CR = DocumentFormat.OpenXml.Drawing.Wordprocessing(); using CS = DocumentFormat.OpenXml.Drawing.Wordping(); using CT = DocumentFormat.OpenXml.Drawing.Wordping(); using CU = DocumentFormat.OpenXml.Drawing.Wordping(); using CV = DocumentFormat.OpenXml().Drawining().Wordping(); using CW = Documen().Drawining().Worping(); using CX = Documen().Drawining().Worping(); using CY = Documen().Drawining().Worping(); using CZ = Documen().Drawining().Worping(); using Da = Documen().Drawining().Worping(); using Db = Documen().Drawining().Worping(); using Dc = Documen().Drawining().Worping(); using Dd = Documen().Drawining().Worping(); using De = Documen().Drawining().Worping(); using Df = Documen().Drawining().Worping(); using Dg = Documen().Drawining().Worping(); using Dh = Documen().Drawining().Worping(); using Di = Documen().Drawining().Worping(); using Dj = Documen().Drawining().Worping(); using Dk = Documen().Drawining().Worping(); using Dl = Documen().Drawining().Worping(); using Dm = Documen().Drawining().WordProcessingModelExtensions;
以上内容就是解答有关“从ASP.NET得到Microsoft Word文档的代码”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/11398.html<





