当前位置: 首页 > news >正文

基于C#的文档处理

环境是 C# + .NET Framework 4.0 + Visual Studio 2010,要实现对 Excel、Word、PowerPoint创建、读取、写入以及转换为 PDF
这些操作可以完全通过 Microsoft Office Interop 来实现


🔧 一、准备工作

1. 安装与引用 Office Interop 库

你需要在项目中手动添加 COM 引用:

Visual Studio 2010 中:

项目 → 添加引用 → COM → 搜索:

分别添加以下引用:

  • Microsoft Excel xx.0 Object Library
  • Microsoft Word xx.0 Object Library
  • Microsoft PowerPoint xx.0 Object Library
  • Microsoft Office xx.0 Object Library

⚠️ 其中 xx.0 取决于你的 Office 版本(例如 14.0 对应 Office 2010)。

添加后,命名空间如下:

using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;

📘 二、Excel 文档操作

1. 创建与写入 Excel 文件

using Excel = Microsoft.Office.Interop.Excel;public void CreateExcel()
{Excel.Application app = new Excel.Application();Excel.Workbook workbook = app.Workbooks.Add();Excel.Worksheet sheet = (Excel.Worksheet)workbook.ActiveSheet;sheet.Cells[1, 1] = "姓名";sheet.Cells[1, 2] = "成绩";sheet.Cells[2, 1] = "张三";sheet.Cells[2, 2] = "95";workbook.SaveAs(@"C:\test.xlsx");workbook.Close();app.Quit();
}

2. 读取 Excel 文件

public void ReadExcel()
{Excel.Application app = new Excel.Application();Excel.Workbook workbook = app.Workbooks.Open(@"C:\test.xlsx");Excel.Worksheet sheet = (Excel.Worksheet)workbook.Sheets[1];string name = sheet.Cells[2, 1].Value.ToString();double score = sheet.Cells[2, 2].Value;MessageBox.Show($"{name} 的成绩是 {score}");workbook.Close(false);app.Quit();
}

3. Excel 转 PDF

public void ExcelToPdf()
{Excel.Application app = new Excel.Application();Excel.Workbook workbook = app.Workbooks.Open(@"C:\test.xlsx");workbook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, @"C:\test.pdf");workbook.Close(false);app.Quit();
}

📗 三、Word 文档操作

1. 创建与写入 Word 文件

using Word = Microsoft.Office.Interop.Word;public void CreateWord()
{Word.Application app = new Word.Application();Word.Document doc = app.Documents.Add();Word.Paragraph para = doc.Content.Paragraphs.Add();para.Range.Text = "这是一个自动生成的Word文档。";para.Range.InsertParagraphAfter();doc.SaveAs(@"C:\test.docx");doc.Close();app.Quit();
}

2. 在 Word 中插入表格

public void InsertTable()
{Word.Application app = new Word.Application();Word.Document doc = app.Documents.Open(@"C:\test.docx");Word.Range range = doc.Content;range.Collapse(Word.WdCollapseDirection.wdCollapseEnd);Word.Table table = doc.Tables.Add(range, 3, 3);table.Borders.Enable = 1;table.Cell(1, 1).Range.Text = "姓名";table.Cell(1, 2).Range.Text = "性别";table.Cell(1, 3).Range.Text = "成绩";table.Cell(2, 1).Range.Text = "张三";table.Cell(2, 2).Range.Text = "男";table.Cell(2, 3).Range.Text = "95";doc.Save();doc.Close();app.Quit();
}

3. 删除 Word 中的表格

public void DeleteTables()
{Word.Application app = new Word.Application();Word.Document doc = app.Documents.Open(@"C:\test.docx");for (int i = doc.Tables.Count; i >= 1; i--){doc.Tables[i].Delete();}doc.Save();doc.Close();app.Quit();
}

4. Word 转 PDF

public void WordToPdf()
{Word.Application app = new Word.Application();Word.Document doc = app.Documents.Open(@"C:\test.docx");doc.ExportAsFixedFormat(@"C:\test.pdf", Word.WdExportFormat.wdExportFormatPDF);doc.Close();app.Quit();
}

📙 四、PowerPoint 文档操作

1. 创建 PowerPoint 幻灯片并写入内容

using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;public void CreatePPT()
{PowerPoint.Application app = new PowerPoint.Application();PowerPoint.Presentation pres = app.Presentations.Add(MsoTriState.msoTrue);PowerPoint.Slide slide = pres.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutText);slide.Shapes[1].TextFrame.TextRange.Text = "自动生成的PPT";slide.Shapes[2].TextFrame.TextRange.Text = "这是第二个文本框。";pres.SaveAs(@"C:\test.pptx");pres.Close();app.Quit();
}

2. 读取 PPT 文本内容

public void ReadPPT()
{PowerPoint.Application app = new PowerPoint.Application();PowerPoint.Presentation pres = app.Presentations.Open(@"C:\test.pptx",MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);foreach (PowerPoint.Slide slide in pres.Slides){foreach (PowerPoint.Shape shape in slide.Shapes){if (shape.HasTextFrame == MsoTriState.msoTrue){string text = shape.TextFrame.TextRange.Text;Console.WriteLine(text);}}}pres.Close();app.Quit();
}

3. PowerPoint 转 PDF

public void PptToPdf()
{PowerPoint.Application app = new PowerPoint.Application();PowerPoint.Presentation pres = app.Presentations.Open(@"C:\test.pptx",MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);pres.SaveAs(@"C:\test.pdf", PowerPoint.PpSaveAsFileType.ppSaveAsPDF);pres.Close();app.Quit();
}
http://www.dtcms.com/a/537818.html

相关文章:

  • 免费网站制作视频教程自适应型网站建设服务电话
  • nacos集群部署配置
  • 从小咖秀到 Sora 2:AI 短视频的商业化演进逻辑
  • 织梦网站程序安装网站开发计划书范文
  • Jackson 常用注解与完整用法总结
  • 浙江江能建设有限公司网站网店怎么推广和宣传
  • 在SCNet DCU异构环境使用Ollama 0.5.7启动deepseek等大模型
  • aspnet网站模板会员可见的网站开发
  • 网站有哪几种类型微信上wordpress
  • SQL语言基础
  • 找能做网站的wordpress 读取用户信息
  • 做网站得基础阿里首个网站开发人员
  • 佛山网站上排名企业培训师资格证报考2023
  • o2o网站建设策划淄博网站建设 很乱
  • 商品网站建设实训报告专业做轴承的网站
  • GJOI 10.23 题解
  • 《HTTP 的进化史:从 1.0 到 3.0 的飞跃》
  • wordpress 首页导航神马搜索seo优化排名
  • 淄博做网站小程序的公司域名免费注册0元注册
  • Vue3 项目创建指南(Vue-CLI vs Vite 对比)
  • 为IvorySQL增添PACKAGE语法帮助
  • 软件开发公司网站模板所有网站都要备案吗
  • 牛客101:二叉树
  • LangChain最详细教程之Chains
  • 声纹识别:声音中的“指纹”重塑无感身份认证
  • RDPWD!ShareClass::UPSendOrders函数中的RDPWD!ShareClass::SC_FlushAndAllocPackage函数分析
  • 怎么建设网站容易被百度抓取app开发公司 无冬
  • 站长字体网页美工培训班
  • 深圳营销型网站dz论坛怎么做视频网站吗
  • 有哪些网站是拐角型wordpress 文章摘要 插件