[Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!

简介: 原文:[Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询。 方案一 直接在浏览器中打开Office文档在页面上的链接。
原文: [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!

引言

之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询。

方案一

直接在浏览器中打开Office文档在页面上的链接。会弹出如下窗口:

 

优点:主流浏览器都支持。

缺点:Office文档链接在浏览器中打开,会有如上图的提示,需用户自己选择打开或者保存功能,如果客户电脑上安装迅雷下载软件,会启动迅雷下载,用户体验不好。

方案二

office文档转html,首先引入com组件中office库,然后在程序集扩展中引入word,excel,ppt的dll。

 

然后F6生成,会报如下错误:

解决办法:

office文档转换html辅助类:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using Microsoft.Office.Core;
 6 using Word = Microsoft.Office.Interop.Word;
 7 namespace Wolfy.OfficePreview
 8 {
 9     public class Office2HtmlHelper
10     {
11         /// <summary>
12         /// Word转成Html
13         /// </summary>
14         /// <param name="path">要转换的文档的路径</param>
15         /// <param name="savePath">转换成html的保存路径</param>
16         /// <param name="wordFileName">转换成html的文件名字</param>
17         public static void Word2Html(string path, string savePath, string wordFileName)
18         {
19 
20             Word.ApplicationClass word = new Word.ApplicationClass();
21             Type wordType = word.GetType();
22             Word.Documents docs = word.Documents;
23             Type docsType = docs.GetType();
24             Word.Document doc = (Word.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { (object)path, true, true });
25             Type docType = doc.GetType();
26             string strSaveFileName = savePath + wordFileName + ".html";
27             object saveFileName = (object)strSaveFileName;
28             docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFileName, Word.WdSaveFormat.wdFormatFilteredHTML });
29             docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod, null, doc, null);
30             wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
31 
32         }
33         /// <summary>
34         /// Excel转成Html
35         /// </summary>
36         /// <param name="path">要转换的文档的路径</param>
37         /// <param name="savePath">转换成html的保存路径</param>
38         /// <param name="wordFileName">转换成html的文件名字</param>
39         public static void Excel2Html(string path, string savePath, string wordFileName)
40         {
41             string str = string.Empty;
42             Microsoft.Office.Interop.Excel.Application repExcel = new Microsoft.Office.Interop.Excel.Application();
43             Microsoft.Office.Interop.Excel.Workbook workbook = null;
44             Microsoft.Office.Interop.Excel.Worksheet worksheet = null;
45             workbook = repExcel.Application.Workbooks.Open(path, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
46             worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
47             object htmlFile = savePath + wordFileName + ".html";
48             object ofmt = Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml;
49             workbook.SaveAs(htmlFile, ofmt, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
50             object osave = false;
51             workbook.Close(osave, Type.Missing, Type.Missing);
52             repExcel.Quit();
53         }
54         /// <summary>
55         /// ppt转成Html
56         /// </summary>
57         /// <param name="path">要转换的文档的路径</param>
58         /// <param name="savePath">转换成html的保存路径</param>
59         /// <param name="wordFileName">转换成html的文件名字</param>
60         public static void PPT2Html(string path, string savePath, string wordFileName)
61         {
62             Microsoft.Office.Interop.PowerPoint.Application ppApp = new Microsoft.Office.Interop.PowerPoint.Application();
63             string strSourceFile = path;
64             string strDestinationFile = savePath + wordFileName + ".html";
65             Microsoft.Office.Interop.PowerPoint.Presentation prsPres = ppApp.Presentations.Open(strSourceFile, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
66 
67             prsPres.SaveAs(strDestinationFile, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsHTML, MsoTriState.msoTrue);
68             prsPres.Close();
69             ppApp.Quit();
70         }
71     }
72 }
Office2HtmlHelper
 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Office2Html.aspx.cs" Inherits="Wolfy.OfficePreview.Office2Html" %>
 2 
 3 <!DOCTYPE html>
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8     <title></title>
 9 </head>
10 <body>
11     <form id="form1" runat="server">
12         <div>
13             <asp:Button Text="Word转Html" ID="btnWord" runat="server" CommandArgument="docx" OnClick="btnWord_Click" />
14             <asp:Button ID="btnExcel" Text="Excel转Html" runat="server" CommandArgument="xlsx" OnClick="btnWord_Click" />
15             <asp:Button ID="btnPPT" Text="PPT转Html" runat="server" CommandArgument="ppt" OnClick="btnWord_Click" />
16         </div>
17     </form>
18 </body>
19 </html>
Office2Html.aspx
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 
 8 namespace Wolfy.OfficePreview
 9 {
10     public partial class Office2Html : System.Web.UI.Page
11     {
12         protected void Page_Load(object sender, EventArgs e)
13         {
14 
15         }
16         protected void btnWord_Click(object sender, EventArgs e)
17         {
18             Button btn = sender as Button;
19             switch (btn.CommandArgument)
20             {
21                 case "docx":
22                     Office2HtmlHelper.Word2Html(MapPath("/Doc/分析某网站的SEO策略(外链篇).doc"), MapPath("/Html/"), "分析某网站的SEO策略(外链篇)");
23                     break;
24                 case "xlsx":
25                     Office2HtmlHelper.Excel2Html(MapPath("/Excel/1994-2013北京市历年最低工资标准.xlsx"), MapPath("/Html/"), "1994-2013北京市历年最低工资标准");
26                     break;
27                 case "ppt":
28                     Office2HtmlHelper.PPT2Html(MapPath("/PPT/23种设计模式详解.ppt"), MapPath("/Html/"), "23种设计模式详解");
29                     break;
30                 default:
31                     break;
32             }
33         }
34     }

35 }

测试结果:

这里为了测试特找了含有图片的office文档,浏览正常:

 要求:机器需安装office,并且office环境是纯净的,所谓纯净就是不能有多个版本,lz曾经在电脑上安装过wps,被害苦了总是报如下错误:

报这个错误,只能哭了,网上的关于00046的解决办法都尝试了,不行。然后不得不重新安装office,然后笑了。最好安装office完整版,因为原来装的不是完整版,不知道有没有这方面的原因,也没有测试,建议完整版。

方案三

office文档转PDF,PDF转swf,使用flexpaper+swftools实现在线浏览。

在操作office2007时,需安装SaveAsPDFandXPS.exe ,安装成功后,如图所示:

只有安装了SaveAsPDFandXPS.exe,程序操作office文档,才有office文档另存为pdf文件。office2010不需要安装了,内置有这个功能。

 核心代码:

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Web;
  5 using Word = Microsoft.Office.Interop.Word;
  6 using Excel = Microsoft.Office.Interop.Excel;
  7 using PowerPoint = Microsoft.Office.Interop.PowerPoint;
  8 using Microsoft.Office.Core;
  9 namespace Wolfy.OfficePreview
 10 {
 11     /// <summary>
 12     /// Office2Pdf 将Office文档转化为pdf
 13     /// </summary>
 14     public class Office2PDFHelper
 15     {
 16         public Office2PDFHelper()
 17         {
 18             //
 19             // TODO: 在此处添加构造函数逻辑
 20             //
 21         }
 22         /// <summary>
 23         /// Word转换成pdf
 24         /// </summary>
 25         /// <param name="sourcePath">源文件路径</param>
 26         /// <param name="targetPath">目标文件路径</param>
 27         /// <returns>true=转换成功</returns>
 28         public static bool DOCConvertToPDF(string sourcePath, string targetPath)
 29         {
 30             bool result = false;
 31             Word.WdExportFormat exportFormat = Word.WdExportFormat.wdExportFormatPDF;
 32             object paramMissing = Type.Missing;
 33             Word.ApplicationClass wordApplication = new Word.ApplicationClass();
 34             Word.Document wordDocument = null;
 35             try
 36             {
 37                 object paramSourceDocPath = sourcePath;
 38                 string paramExportFilePath = targetPath;
 39                 Word.WdExportFormat paramExportFormat = exportFormat;
 40                 bool paramOpenAfterExport = false;
 41                 Word.WdExportOptimizeFor paramExportOptimizeFor = Word.WdExportOptimizeFor.wdExportOptimizeForPrint;
 42                 Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;
 43                 int paramStartPage = 0;
 44                 int paramEndPage = 0;
 45                 Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentContent;
 46                 bool paramIncludeDocProps = true;
 47                 bool paramKeepIRM = true;
 48                 Word.WdExportCreateBookmarks paramCreateBookmarks = Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;
 49                 bool paramDocStructureTags = true;
 50                 bool paramBitmapMissingFonts = true;
 51                 bool paramUseISO19005_1 = false;
 52                 wordDocument = wordApplication.Documents.Open(
 53                     ref paramSourceDocPath, ref paramMissing, ref paramMissing,
 54                     ref paramMissing, ref paramMissing, ref paramMissing,
 55                     ref paramMissing, ref paramMissing, ref paramMissing,
 56                     ref paramMissing, ref paramMissing, ref paramMissing,
 57                     ref paramMissing, ref paramMissing, ref paramMissing,
 58                     ref paramMissing);
 59                 if (wordDocument != null)
 60                     wordDocument.ExportAsFixedFormat(paramExportFilePath,
 61                         paramExportFormat, paramOpenAfterExport,
 62                         paramExportOptimizeFor, paramExportRange, paramStartPage,
 63                         paramEndPage, paramExportItem, paramIncludeDocProps,
 64                         paramKeepIRM, paramCreateBookmarks, paramDocStructureTags,
 65                         paramBitmapMissingFonts, paramUseISO19005_1,
 66                         ref paramMissing);
 67                 result = true;
 68             }
 69             catch
 70             {
 71                 result = false;
 72             }
 73             finally
 74             {
 75                 if (wordDocument != null)
 76                 {
 77                     wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);
 78                     wordDocument = null;
 79                 }
 80                 if (wordApplication != null)
 81                 {
 82                     wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);
 83                     wordApplication = null;
 84                 }
 85                 GC.Collect();
 86                 GC.WaitForPendingFinalizers();
 87                 GC.Collect();
 88                 GC.WaitForPendingFinalizers();
 89             }
 90             return result;
 91         }
 92 
 93         /// <summary>
 94         /// 把Excel文件转换成PDF格式文件  
 95         /// </summary>
 96         /// <param name="sourcePath">源文件路径</param>
 97         /// <param name="targetPath">目标文件路径</param>
 98         /// <returns>true=转换成功</returns>
 99         public static bool XLSConvertToPDF(string sourcePath, string targetPath)
100         {
101             bool result = false;
102             Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlTypePDF;
103             object missing = Type.Missing;
104             Excel.ApplicationClass application = null;
105             Excel.Workbook workBook = null;
106             try
107             {
108                 application = new Excel.ApplicationClass();
109                 object target = targetPath;
110                 object type = targetType;
111                 workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,
112                     missing, missing, missing, missing, missing, missing, missing, missing, missing);
113                 workBook.ExportAsFixedFormat(targetType, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);
114                 result = true;
115             }
116             catch
117             {
118                 result = false;
119             }
120             finally
121             {
122                 if (workBook != null)
123                 {
124                     workBook.Close(true, missing, missing);
125                     workBook = null;
126                 }
127                 if (application != null)
128                 {
129                     application.Quit();
130                     application = null;
131                 }
132                 GC.Collect();
133                 GC.WaitForPendingFinalizers();
134                 GC.Collect();
135                 GC.WaitForPendingFinalizers();
136             }
137             return result;
138         }
139         ///<summary>        
140         /// 把PowerPoint文件转换成PDF格式文件       
141         ///</summary>        
142         ///<param name="sourcePath">源文件路径</param>     
143         ///<param name="targetPath">目标文件路径</param> 
144         ///<returns>true=转换成功</returns> 
145         public static bool PPTConvertToPDF(string sourcePath, string targetPath)
146         {
147             bool result;
148             PowerPoint.PpSaveAsFileType targetFileType = PowerPoint.PpSaveAsFileType.ppSaveAsPDF;
149             object missing = Type.Missing;
150             PowerPoint.ApplicationClass application = null;
151             PowerPoint.Presentation persentation = null;
152             try
153             {
154                 application = new PowerPoint.ApplicationClass();
155                 persentation = application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse); persentation.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);
156                 result = true;
157             }
158             catch
159             {
160                 result = false;
161             }
162             finally
163             {
164                 if (persentation != null)
165                 {
166                     persentation.Close();
167                     persentation = null;
168                 }
169                 if (application != null)
170                 {
171                     application.Quit();
172                     application = null;
173                 }
174                 GC.Collect();
175                 GC.WaitForPendingFinalizers();
176                 GC.Collect();
177                 GC.WaitForPendingFinalizers();
178             }
179             return result;
180         }
181     }
182 }
Office2PDFHelper
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 
 8 namespace Wolfy.OfficePreview
 9 {
10     public partial class Office2PDF : System.Web.UI.Page
11     {
12         protected void Page_Load(object sender, EventArgs e)
13         {
14 
15         }
16         protected void btnWord_Click(object sender, EventArgs e)
17         {
18             Button btn = sender as Button;
19             switch (btn.CommandArgument)
20             {
21                 case "docx":
22                     Office2PDFHelper.DOCConvertToPDF(MapPath("/Doc/分析某网站的SEO策略(外链篇).doc"), MapPath("/PDF/分析某网站的SEO策略(外链篇).pdf"));
23                     break;
24                 case "xlsx":
25                     Office2PDFHelper.XLSConvertToPDF(MapPath("/Excel/1994-2013北京市历年最低工资标准.xlsx"), MapPath("/PDF/1994-2013北京市历年最低工资标准.pdf"));
26                     break;
27                 case "ppt":
28                     Office2PDFHelper.PPTConvertToPDF(MapPath("/PPT/23种设计模式详解.ppt"), MapPath("/PDF/23种设计模式详解.pdf"));
29                     break;
30                 default:
31                     break;
32             }
33         }
34     }
35 }
Office2PDF
 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Office2PDF.aspx.cs" Inherits="Wolfy.OfficePreview.Office2PDF" %>
 2 
 3 <!DOCTYPE html>
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 8     <title></title>
 9 </head>
10 <body>
11     <form id="form1" runat="server">
12     <div>
13       <asp:Button Text="Word转PDF" ID="btnWord" runat="server" CommandArgument="docx" OnClick="btnWord_Click" />
14             <asp:Button ID="btnExcel" Text="Excel转PDF" runat="server" CommandArgument="xlsx" OnClick="btnWord_Click" />
15             <asp:Button ID="btnPPT" Text="PPT转PDF" runat="server" CommandArgument="ppt" OnClick="btnWord_Click" />
16     </div>
17     </form>
18 </body>
19 </html>
Office2PDF.aspx

测试结果:

 

此方案office转pdf文件的过程的要求与方案二要求相同。

pdf转换完成后,就可以将pdf转换为swf,使用flexpaper+swftools实现在线浏览了,可参考我之前的一篇文章:

FlexPaper+SWFTool+操作类=在线预览PDF

方案四

office文档直接转换为swf,使用flexpaper+swftool实现在先浏览。

office直接转换为swf,这里使用flashpaper来实现:

FlashPaper是一个虚拟打印机,可将word文件直接转化成swf格式文件(.doc.xls .txt .pdf等文件都可以正常生成SWF格式)

这里只贴出核心代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Diagnostics;
 4 using System.Linq;
 5 using System.Web;
 6 using System.Web.UI;
 7 using System.Web.UI.WebControls;
 8 
 9 namespace Wolfy.OfficePreview
10 {
11     public partial class Office2Swf : System.Web.UI.Page
12     {
13         protected void Page_Load(object sender, EventArgs e)
14         {
15 
16         }
17         protected void btnWord_Click(object sender, EventArgs e)
18         {
19             Button btn = sender as Button;
20             switch (btn.CommandArgument)
21             {
22                 case "docx":
23                     ConvertOffice2Swf(MapPath("/Doc/分析某网站的SEO策略(外链篇).doc"), MapPath("/SWF/分析某网站的SEO策略(外链篇).swf"));
24                     break;
25                 case "xlsx":
26                     Office2PDFHelper.XLSConvertToPDF(MapPath("/Excel/1994-2013北京市历年最低工资标准.xlsx"), MapPath("/SWF/1994-2013北京市历年最低工资标准.swf"));
27                     break;
28                 case "ppt":
29                     Office2PDFHelper.PPTConvertToPDF(MapPath("/PPT/23种设计模式详解.ppt"), MapPath("/SWF/23种设计模式详解.swf"));
30                     break;
31                 default:
32                     break;
33             }
34         }
35         /// <summary>
36         /// office 转swf
37         /// </summary>
38         /// <param name="officePath">要转换的office文档路径</param>
39         /// <param name="swfPath">转换后swf的路径</param>
40         private void ConvertOffice2Swf(string officePath, string swfPath)
41         {
42             Process process = new Process();     //创建进程对象 
43             ProcessStartInfo startInfo = new ProcessStartInfo();
44             string paperroot = @"C:\Program Files\Macromedia\FlashPaper 2\FlashPrinter.exe";//这里是FlashPrinter的路径
45             string docFile = officePath;
46             string swfFile = swfPath;
47             startInfo.FileName = paperroot;
48             startInfo.Arguments = docFile + " -o " + swfFile;
49             startInfo.UseShellExecute = false;     //不使用系统外壳程序启动 
50             startInfo.RedirectStandardInput = false;   //不重定向输入 
51             startInfo.RedirectStandardOutput = false;   //重定向输出 
52             startInfo.CreateNoWindow = true;     //不创建窗口 
53             process.StartInfo = startInfo;
54             process.Start();   
55             if (process != null)
56                 process.Close();
57            
58         }
59     }
60 }

鉴于测试时,flashpaper在将office文档转换为swf的时候,在使用flexpaper的浏览时,出现转换的内容为空,猜测:flexpaper能打开的swf文件与flashpaper转的swf文件不兼容。最后使用flashpaper将office文档转换为pdf,然后走方案三,pdf转swf的步骤。另外本地测试时,没问题。将项目部署在IIS上,不能浏览,出现卡死的情况,调试发现,文件太大,在office还没完全转换为pdf的情况下,swftool工具就去寻找pdf文件,出现错误。

IIS上,无法浏览,查询网上解决方案,和权限这块有关,按照步骤设置了,未果,有点遗憾。

方案五

使用点聚公司的weboffice控件,测试后发现兼容性较差,放弃。有兴趣的可以研究一下。

方案六

office转pdf后,直接浏览器打开,此方案鉴于目前主流浏览器都集成adobe reader功能,可实现直接打开PDF文件。将pdf文件链接可直接打开。

必要条件:本地需安装adobe reader类似软件。

总结

鉴于项目情况选择一个适合的方案,其中有方案只是曲线救国,但是同样能达到要求。如果您觉得对你有所帮助,不妨推荐一下,让更多的人都能看到,谢谢你能看到文章最后。

参考文章:

http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html

http://www.cnblogs.com/lexlin/articles/2478027.html

http://www.cnblogs.com/gossip/p/3473024.html

http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html

目录
相关文章
|
4月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
226 5
|
3月前
|
人工智能 自然语言处理 JavaScript
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
Univer 是一款开源的 AI 办公工具,支持 Word、Excel 等文档处理的全栈解决方案。它具有强大的功能、高度的可扩展性和跨平台兼容性,适用于个人和企业用户,能够显著提高工作效率。
216 8
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
|
3月前
|
XML C# 数据格式
一个.NET开源、免费、功能强大的 PDF 处理工具
一个.NET开源、免费、功能强大的 PDF 处理工具
|
3月前
|
数据挖掘 BI
.net8 Syncfusion生成pdf/doc/xls/ppt最新版本
通过使用 Syncfusion,您可以高效地生成各种文档,满足不同的业务需求。这些工具不仅易于使用,还具有高性能和高度可扩展性,是处理文档的理想选择。
119 16
|
4月前
|
API C#
在.NET中使用QuestPDF高效地生成PDF文档
在.NET中使用QuestPDF高效地生成PDF文档
|
8月前
|
Web App开发 前端开发 安全
2024年新一代WebOffice内嵌网页组件,Web网页在线编辑Word/Excel/PPT
WebOffice控件面临兼容性、用户体验和维护难题。随着浏览器更新,依赖插件的技术不再适用,如Chrome不再支持NPAPI和PPAPI。产品普遍不支持多版本Office并存,定制能力弱,升级复杂。猿大师办公助手提供了解决方案,它兼容多种浏览器,包括最新版和国产浏览器,不依赖插件,支持文档对比,具有丰富的功能和接口,兼容多种Office版本,允许源码级定制,提供终身技术支持,并实现静默在线升级。适用于多种行业和操作系统。
460 19
|
7月前
|
C# 开发者 Windows
WPF遇上Office:一场关于Word与Excel自动化操作的技术盛宴,从环境搭建到代码实战,看WPF如何玩转文档处理的那些事儿
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的重要组件,以其强大的图形界面和灵活的数据绑定功能著称。本文通过具体示例代码,介绍如何在 WPF 应用中实现 Word 和 Excel 文档的自动化操作,包括文档的读取、编辑和保存等。首先创建 WPF 项目并设计用户界面,然后在 `MainWindow.xaml.cs` 中编写逻辑代码,利用 `Microsoft.Office.Interop` 命名空间实现 Office 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
466 0
|
7月前
|
开发框架 .NET API
分享一个 ASP.NET Web Api 上传和读取 Excel的方案
分享一个 ASP.NET Web Api 上传和读取 Excel的方案
179 0
|
24天前
|
人工智能 编解码 文字识别
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
211 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
|
6天前
|
文字识别 Serverless 开发工具
【全自动改PDF名】批量OCR识别提取PDF自定义指定区域内容保存到 Excel 以及根据PDF文件内容的标题来批量重命名
学校和教育机构常需处理成绩单、报名表等PDF文件。通过OCR技术,可自动提取学生信息并录入Excel,便于统计分析和存档管理。本文介绍使用阿里云服务实现批量OCR识别、内容提取、重命名及导出表格的完整步骤,包括开通相关服务、编写代码、部署函数计算和设置自动化触发器等。提供Python示例代码和详细操作指南,帮助用户高效处理PDF文件。 链接: - 百度网盘:[链接](https://pan.baidu.com/s/1mWsg7mDZq2pZ8xdKzdn5Hg?pwd=8866) - 腾讯网盘:[链接](https://share.weiyun.com/a77jklXK)
32 5

热门文章

最新文章

相关实验场景

更多