word 导出(带有一个图片,一张datatable)
2012-07-03 09:07
337 查看
View Code
说明:自己只是收集,以便以后自己的使用!希望对你也有所帮助!
/// <summary> /// 不依赖Com组件利用第三方开源控件(DocX)导出标准Word文件,仅支持2007格式 /// !以下导出仅适用于特定的格式(一个图片和一个DataTable),如要用于其他导出,请自行修改 /// </summary> /// <param name="dt">要导出的DataTable</param> /// <param name="imagePath">要导出的图片路径</param> /// <param name="fileName">要导出的文件名称</param> public void ExportWord(DataTable dt, string imagePath, string fileName) { //新建一个document文档 Novacode.DocX document = Novacode.DocX.Create(HttpContext.Current.Server.MapPath("Blank07.docx")); System.IO.MemoryStream file = new System.IO.MemoryStream(); //在这里写入word文件内容 //插入统计结果图片 Novacode.Image image = document.AddImage(imagePath); Novacode.Picture picture = image.CreatePicture(); document.InsertParagraph().AppendPicture(picture); //插入统计结果表格数据,并设置单元格样式 Novacode.Table table = document.InsertTable(dt.Rows.Count, dt.Columns.Count); //边框样式 Novacode.Border border = new Novacode.Border(Novacode.BorderStyle.Tcbs_single, Novacode.BorderSize.two, 0, System.Drawing.Color.Black); //table.SetBorder(Novacode.TableBorderType.Bottom,Novacode.Border for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { table.Rows[i].Cells[j].Paragraphs[0].Append(dt.Rows[i][j].ToString()); table.Rows[i].Cells[j].SetBorder(Novacode.TableCellBorderType.Top, border); table.Rows[i].Cells[j].SetBorder(Novacode.TableCellBorderType.Right, border); table.Rows[i].Cells[j].SetBorder(Novacode.TableCellBorderType.Bottom, border); table.Rows[i].Cells[j].SetBorder(Novacode.TableCellBorderType.Left, border); } } //插入统计结果表格标题,并设置单元格样式 Novacode.Row tableHeader = table.InsertRow(0); for (int i = 0; i < dt.Columns.Count; i++) { tableHeader.Cells[i].Paragraphs[0].Append(dt.Columns[i].ColumnName); tableHeader.Cells[i].SetBorder(Novacode.TableCellBorderType.Top, border); tableHeader.Cells[i].SetBorder(Novacode.TableCellBorderType.Right, border); tableHeader.Cells[i].SetBorder(Novacode.TableCellBorderType.Bottom, border); tableHeader.Cells[i].SetBorder(Novacode.TableCellBorderType.Left, border); } document.SaveAs(file); file.Close(); response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; string filename = HttpUtility.UrlEncode(fileName + ".docx");//url编码.防止中文乱码. response.AddHeader("Content-Disposition", "attachment;filename=" + filename); response.BinaryWrite(file.GetBuffer()); response.Flush(); response.End(); }
说明:自己只是收集,以便以后自己的使用!希望对你也有所帮助!
相关文章推荐
- JAVA Freemarker 导出word文档实例带有图片
- java 调用jacob和java2word导出word,并实现将带有格式的html文本和图片插入word
- POI导出简单的带有图片的Word文档
- 导出EXCEL、WORD中带有图片的无敌替换法
- 如何快速的导出WORD(包括图片,页眉,页脚,水印)
- 一张图片有两个小图,想要其中的一个,怎么写代码?
- spring mvc 下 word 文档(含图片)导出
- 关于导出excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 根据模板生成带有图片的 word 文档
- DataTable导出为word,excel,html,csv,pdf,.txt
- 利用itext导出word表格,处理图片 推荐
- java导出word带图片之后台
- Android 中把一张图片合成到一个视频里面去
- freemark 同一个模版用if else导出不同的word,word分页
- 一张图片分为2部分显示带有鼠标变换效果
- DataTable、GridView、DataList导出至Word或Excel
- C# asp.net Word中使用书签插入图片导出
- DataTable导出到word或excel
- C#通过模板导出Word(文字,表格,图片)
- 亮风台HIAR增强现实SDK的使用入门(扫描一张图片,在图片上出现一个物体)