NPOI操作Word

CT_SectPr srcpr = new CT_SectPr();//设置A4纸纵向,如果要横向,两个值调换即可
srcpr.pgSz.w = (ulong)11906;
srcpr.pgSz.h = (ulong)16838;
XWPFDocument doc = new XWPFDocument();
doc.Document.body.sectPr = srcpr;//输出标题
XWPFParagraph ptitle = doc.CreateParagraph();
ptitle.Alignment = ParagraphAlignment.CENTER;
XWPFRun titlerun = ptitle.CreateRun(); //向该段落中添加文字
titlerun.SetText(“标题”);
titlerun.IsBold = true;
titlerun.FontFamily = “华文行楷”;
titlerun.FontSize = 30;
titlerun.SetColor(“blue”);//输出一个段落
XWPFParagraph p2 = doc.CreateParagraph();
p2.Alignment = ParagraphAlignment.CENTER;
p2.IndentationFirstLine = (int)100; //首行缩进
XWPFRun r2 = p2.CreateRun();
r2.SetText(string.Format(“生成时间:{0}”, DateTime.Now.ToString(“yyyy-MM-dd HH:mm”)));
r2.FontSize = 15;titlerun.FontFamily = “宋体”;
StringBuilder sb = new StringBuilder();
using (FileStream stream = File.OpenRead(“simple.docx”)){
XWPFDocument docx = new XWPFDocument(stream);
//页眉
foreach (XWPFHeader xwpfHeader in docx.HeaderList)
{
sb.AppendLine(string.Format("{0}", new string[] { xwpfHeader.Text }));
}
//页脚
foreach (XWPFFooter xwpfFooter in docx.FooterList)
{
sb.AppendLine(string.Format("{0}", new string[] { xwpfFooter.Text }));
}
//读取段落
foreach (var para in docx.Paragraphs)
{
string text = para.ParagraphText; //获得文本
var runs = para.Runs; // string styleid = para.Style;
for (int i = 0; i < runs.Count; i++)
{
var run = runs[i];
text = run.ToString(); //获得run的文本
sb.Append(text + “,”);
}
}
//读取表格
foreach (XWPFTable table in docx.Tables)
{
//循环表格行
foreach (XWPFTableRow row in table.Rows)
{
foreach (XWPFTableCell cell in row.GetTableCells())
{
sb.Append(cell.GetText());
}
}
}
//读取图片
foreach (XWPFPictureData pictureData in docx.AllPictures)
{
string picExtName = pictureData.SuggestFileExtension();
string picFileName = pictureData.FileName;
byte[] picFileContent = pictureData.Data;
string picTempName = string.Format(Guid.NewGuid().ToString() + “_” + picFileName + “.” + picExtName);
using (FileStream fs = new FileStream(picTempName, FileMode.Create, FileAccess.Write))
{
fs.Write(picFileContent, 0, picFileContent.Length);
fs.Close();
}
sb.AppendLine(picTempName);
}
Console.WriteLine(sb.ToString());
}
FileStream out1 = new FileStream(“simple.docx”, FileMode.Create);
doc.Write(out1);
out1.Close();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值