试试这个代码,需要添加spire.doc jar依赖
import com.spire.doc.Documentimport com.spire.doc.FileFormat
import com.spire.doc.Section
import com.spire.doc.documents.*
import com.spire.doc.fields.DocPicture
public class InsertImage {
public static void main(String[] args) {
//实例化Document对象
Document doc = new Document()
//加载文档
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.docx")
//获取第一个section
Section section = doc.getSections().get(0)
//添加一个段落
Paragraph para = section.addParagraph()
//添加图片到段落
DocPicture picture = para.appendPicture("C:\\Users\\Administrator\\Desktop\\Cartoon.png")
//设置文字环绕方式(居于文字上方)
picture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text)
//指定图片的相对位置
picture.setHorizontalOrigin(HorizontalOrigin.Page)
picture.setHorizontalPosition(250f)
picture.setVerticalOrigin(VerticalOrigin.Top_Margin_Area)
picture.setVerticalPosition(150f)
//设置图片大小
picture.setWidth(80f)
picture.setHeight(80f)
//保存到文档
doc.saveToFile("output/InsertImage.docx", FileFormat.Docx)
}
}
生成的Word:
使用nuget安装NPOI:Install-Package NPOI
然后就来看看这些代码
private void btnExport_Click(object sender, EventArgs e)
{
var dbcontext = new BlogModel()
var list = dbcontext.ArticleInfos.ToList()
//创建document对象
XWPFDocument doc = new XWPFDocument()
//创建段落对象
XWPFParagraph p1 = doc.CreateParagraph()
//创建run对象
//本节提到的所有样式都是基于XWPFRun的,
//你可以把XWPFRun理解成一小段文字的描述对象,
//这也是Word文档的特征,即文本描述性文档。
//来自Tony Qu http://tonyqus.sinaapp.com/archives/609
XWPFRun r1 = p1.CreateRun()
r1.SetBold(true)
r1.SetText("数据导出demo")
r1.SetBold(true)
r1.SetFontFamily("Arial")//设置雅黑字体
//创建表格对象列数写死了,可根据自己需要改进或者自己想想解决方案
XWPFTable table = doc.CreateTable(list.Count(), 4)
for (int i = 0i <list.Count()i++)
{
table.GetRow(i).GetCell(0).SetText(list[i].Id.ToString())
table.GetRow(i).GetCell(1).SetText(list[i].Title)
table.GetRow(i).GetCell(2).SetText(list[i].Content)
table.GetRow(i).GetCell(3).SetText(list[i].AddTime)
}
//保存文件到磁盘
FileStream out1 = new FileStream("simpleTable.docx", FileMode.Create)
doc.Write(out1)
out1.Close()
}
代码上写的有较为详细的注释,有需要的朋友可以自己试试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)