根据word模板导出数据(Aspose.Words)
来源:互联网 发布:公安局网络监察科 编辑:程序博客网 时间:2024/05/09 12:48
//实现代码:
string tmppath = Server.MapPath("/xlsTemplate/" + path);//模版中书签名须和数据库字段名一致
Aspose.Words.Document doc = new Aspose.Words.Document(tmppath); //载入模板
DocumentBuilder builder = new DocumentBuilder(doc);
DataTable products = table; //数据源
int count = 0;
//记录要显示多少列
for (var i = 0; i < products.Columns.Count; i++)
{
if (doc.Range.Bookmarks[products.Columns[i].ColumnName.Trim()] != null)
{
Aspose.Words.Bookmark mark = doc.Range.Bookmarks[products.Columns[i].ColumnName.Trim()];
//mark.Text = "";
count++;
}
}
System.Collections.Generic.List<string> listcolumn = new System.Collections.Generic.List<string>(count);
for (var i = 0; i < count; i++)
{
builder.MoveToCell(0, 0, i, 0); //移动单元格
if (builder.CurrentNode.NodeType == NodeType.BookmarkStart)
{
listcolumn.Add((builder.CurrentNode as BookmarkStart).Name);
}
}
double width = builder.CellFormat.Width;//获取单元格宽度
builder.MoveToBookmark("table"); //开始添加值(模版中添加“table”书签,标志插入数据的开始位置)
for (var m = 0; m < products.Rows.Count; m++)
{
for (var i = 0; i < listcolumn.Count; i++)
{
builder.InsertCell(); // 添加一个单元格
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.CellFormat.Width = width;
builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
builder.Write(products.Rows[m][listcolumn[i]].ToString());
}
builder.EndRow();
}
doc.Range.Bookmarks["table"].Text = ""; //操作完成后清掉“table”标示
doc.Save("数据.doc", SaveFormat.Doc, SaveType.OpenInWord, Page.Response);
string tmppath = Server.MapPath("/xlsTemplate/" + path);//模版中书签名须和数据库字段名一致
Aspose.Words.Document doc = new Aspose.Words.Document(tmppath); //载入模板
DocumentBuilder builder = new DocumentBuilder(doc);
DataTable products = table; //数据源
int count = 0;
//记录要显示多少列
for (var i = 0; i < products.Columns.Count; i++)
{
if (doc.Range.Bookmarks[products.Columns[i].ColumnName.Trim()] != null)
{
Aspose.Words.Bookmark mark = doc.Range.Bookmarks[products.Columns[i].ColumnName.Trim()];
//mark.Text = "";
count++;
}
}
System.Collections.Generic.List<string> listcolumn = new System.Collections.Generic.List<string>(count);
for (var i = 0; i < count; i++)
{
builder.MoveToCell(0, 0, i, 0); //移动单元格
if (builder.CurrentNode.NodeType == NodeType.BookmarkStart)
{
listcolumn.Add((builder.CurrentNode as BookmarkStart).Name);
}
}
double width = builder.CellFormat.Width;//获取单元格宽度
builder.MoveToBookmark("table"); //开始添加值(模版中添加“table”书签,标志插入数据的开始位置)
for (var m = 0; m < products.Rows.Count; m++)
{
for (var i = 0; i < listcolumn.Count; i++)
{
builder.InsertCell(); // 添加一个单元格
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.CellFormat.Width = width;
builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
builder.Write(products.Rows[m][listcolumn[i]].ToString());
}
builder.EndRow();
}
doc.Range.Bookmarks["table"].Text = ""; //操作完成后清掉“table”标示
doc.Save("数据.doc", SaveFormat.Doc, SaveType.OpenInWord, Page.Response);
- 根据word模板导出数据(Aspose.Words)
- 利用Aspose.Words按模板导出Word
- aspose.word根据word模板填充对应信息并导出
- Aspose.Words把DataTable 中的数据导出到word中
- Aspose.Words使用word模板中的书签插入图片(导出含有图片的word)
- Asp.net开发经验-利用Aspose.Words按模板导出Word
- Aspose.Words导出带图片人员信息到Word中
- 引用Aspose.Words,操作Word模板创建表格
- Aspose.Words使用模板导出数据库中图片内容
- Java中根据模板导出数据到word的解决方案
- 用Aspose.Words 从Word文档中提取表格数据
- 用Aspose.Words 从Word文档中提取表格数据
- java SSM框架中使用aspose-words导出数据
- Aspose.Words生成word文件
- Aspose.Words 操作 Word文件
- aspose导出word
- Aspose.Words导出主从表格
- 推荐.NET使用Aspose.Words动态生成word文档数据表格(附Aspose.Words for NET 6.5 破解版下载)
- Linux的线程同步机制
- Linux 中如何查询和卸载已安装的软件
- java.lang.Comparable 接口 详解
- java 实现 冒泡排序、选择排序、插入排序。
- C#web生成EXCEL文件
- 根据word模板导出数据(Aspose.Words)
- poj1458 - Common Subsequence
- (1)传统线程技术回顾
- 解决控件闪屏问题
- (2)传统定时器技术回顾 张孝祥老师经典讲解总结
- (3)传统线程互斥技术 synchronized 经典解析。【线程同步】 外加【内部类与外部类 】
- (4)传智播客_张孝祥_线程范围内共享变量的概念与作用
- (5)ThreadLocal类及应用技巧---- 线程范围内共享变量
- (6)多个线程 之间共享数据的方式探讨(设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1 )