志在指尖
用双手敲打未来

C#,操作Word并导出PDF

一、操作Word
首先援用这个DLL,Microsoft.Office.Interop.Word,官方提供的。
能够操作word文字,表格,图片等。
文字经过交换关键字的方式完成
document.Paragraphs[i].Range.Text=temptext.Replace(“{$village}”,”HELLOWORLD”);
表格能够本人获取模板中已有的表格
Microsoft.Office.Interop.Word.Tabletable1=document.Tables[1];
table1.Cell(1,1).Range.Text=”TEST1″;
也能够本人创立表格,能够设计表头,单元格等。
inttableRow=6;
inttableColumn=6;
//定义一个Word中的表格对象
Microsoft.Office.Interop.Word.Tabletable=document.Tables.Add(document.Paragraphs[i].Range,
tableRow,tableColumn,refNothing,refNothing);
//默许创立的表格没有边框,这里修正其属性,使得创立的表格带有边框
table.Borders.Enable=1;
table.Cell(1,1).Merge(table.Cell(2,1));//纵向兼并
table.Cell(1,1).Range.Text=”牌号/代码”;
table.Cell(1,2).Merge(table.Cell(2,2));//纵向兼并
table.Cell(1,2).Range.Text=”规范编号”; C#
有一篇文章写的很细致能够参考下:https://www.cnblogs.com/xh6300/p/5915717.html
复制代码
publicboolCreateWord(DataTabledttmp)
{
boolresult=false;
ObjectNothing=Missing.Value;
Microsoft.Office.Interop.Word.Applicationapplication=newMicrosoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Documentdocument=null;
stringpath=@”C:\Users\Administrator\Desktop\BB\合同模版.doc”;
objectFileName=@”C:\Users\Administrator\Desktop\BB\”+DateTime.Now.ToString(“yyyyMMddHHmmssffffff”)+”.doc”;
application.Visible=false;
document=application.Documents.Open(path);
introwNum=dttmp.Rows.Count;
for(inti=1;i<=document.Paragraphs.Count;i++)
{
stringtemptext=document.Paragraphs[i].Range.Text;
//以下为交换文档模版中的关键字
if(temptext.Contains(“{$village}”))
document.Paragraphs[i].Range.Text=temptext.Replace(“{$village}”,”HELLOWORLD”);
Microsoft.Office.Interop.Word.Tabletable1=document.Tables[1];
table1.Cell(1,1).Range.Text=”TEST1″;
if(temptext.Contains(“{$Table1}”))
{
//设置表格的行数和列数
inttableRow=6+rowNum;
inttableColumn=13;
//定义一个Word中的表格对象
Microsoft.Office.Interop.Word.Tabletable=document.Tables.Add(document.Paragraphs[i].Range,
tableRow,tableColumn,refNothing,refNothing);
//默许创立的表格没有边框,这里修正其属性,使得创立的表格带有边框
table.Borders.Enable=1;//这个值能够设置得很大
table.Cell(1,1).Merge(table.Cell(2,1));//纵向兼并
table.Cell(1,1).Range.Text=”牌号/代码”;
table.Cell(1,2).Merge(table.Cell(2,2));//纵向兼并
table.Cell(1,2).Range.Text=”规范编号”;
table.Cell(1,6).Merge(table.Cell(2,6));
table.Cell(1,6).Range.Text=”单重\n(MT)”;
table.Cell(1,7).Merge(table.Cell(2,7));
table.Cell(1,7).Range.Text=”张数”;
table.Cell(1,8).Merge(table.Cell(2,8));
table.Cell(1,8).Range.Text=”重量\n(MT))”;
table.Cell(1,9).Merge(table.Cell(2,9));
table.Cell(1,9).Range.Text=”单价\n(元/吨)”;
table.Cell(1,10).Merge(table.Cell(2,10));
table.Cell(1,10).Range.Text=”金额(钱)”;
table.Cell(1,13).Merge(table.Cell(2,13));
table.Cell(1,13).Range.Text=”交货期”;
table.Cell(1,3).Merge(table.Cell(1,5));//横向兼并
table.Cell(1,3).Range.Text=”规格(mm)”;
table.Cell(2,3).Range.Text=”厚度”;
table.Cell(2,4).Range.Text=”宽度”;
table.Cell(2,5).Range.Text=”宽度”;
table.Cell(1,9).Merge(table.Cell(1,10));
table.Cell(1,10).Range.Text=”外表加工”;
table.Cell(2,11).Range.Text=”边缘”;
table.Cell(2,11).Range.Text=”精度”;
}
}
objectformat=document.SaveFormat;
document.Save();
application.Quit(refNothing,refNothing,refNothing);
returnresult;
}
复制代码
二、Word导出PDF
复制代码
publicboolWordToPDF(stringsourcePath)
{
boolresult=false;
Microsoft.Office.Interop.Word.Applicationapplication=newMicrosoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Documentdocument=null;
try
{
application.Visible=false;
document=application.Documents.Open(sourcePath);
stringPDFPath=sourcePath.Replace(“.doc”,”.pdf”);//pdf寄存位置
if(!File.Exists(@PDFPath))//存在PDF,不需求继续转换
{
document.ExportAsFixedFormat(PDFPath,Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);
}
result=true;
}
catch(Exceptione)
{
Console.WriteLine(e.Message);
result=false;
}
finally
{
//document.Close();
}
returnresult;
}
复制代码

未经允许不得转载:IT技术网站 » C#,操作Word并导出PDF
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载