aspose.cells使用excel模板生成excel
2013-10-30 21:07
609 查看
参考博客:/article/4578672.html
使用的aspose类库: http://download.csdn.net/detail/anderson_linqf/4901496
大家好,客户很多时候会给一个excel模板我们,然后按照所给的excel格式进行报表。
比如,用户给了下面一个excel模板:(上面是一个标题,下面是一个货物的信息)
我以往的做法:从数据库里面拿到所需数据之后保存在一个datatable里面,然后就傻傻的:
cell[2,0].value = ****
cell[2,1].value =*****
cell[3,0].value = ***
********一个一个往空格里面填
这样的想法的确很简单,哪个格子需要填数据,就往哪个格子里面填东西,但是缺点也很容易想到:
这个excel的格式是不能改变的,如果用户突然打了个电话来说:对不起,能不能把单价放在前面,货物名放后面啊???
这时候,苦逼的码农就要重新:
cell[2,0].value = ####
cell[2,1].value =####
cell[3,0].value = #####
重新一个格子一个格子的填,那就太郁闷了。
我的意思是:不能把excel看出一个空表,写程序就是为了填好这个空表!!!
现在从aspose.cells中学会了一招:把excel看成一个说明文档,这个说明文档指导程序怎么填写数据。
下面是一个新的解决方法:
首先把excel模板的数据部分删掉,剩下主题,然后补充上你的数据库里面的查询表面和字段名:
那么查出来的datatable如果有5行就往excel空表里面填写5行,如果仅有1行那么只往excel空表填一个。
代码如下:
aspose.cells还有用法值得学习,百度一下吧!
使用的aspose类库: http://download.csdn.net/detail/anderson_linqf/4901496
大家好,客户很多时候会给一个excel模板我们,然后按照所给的excel格式进行报表。
比如,用户给了下面一个excel模板:(上面是一个标题,下面是一个货物的信息)
我以往的做法:从数据库里面拿到所需数据之后保存在一个datatable里面,然后就傻傻的:
cell[2,0].value = ****
cell[2,1].value =*****
cell[3,0].value = ***
********一个一个往空格里面填
这样的想法的确很简单,哪个格子需要填数据,就往哪个格子里面填东西,但是缺点也很容易想到:
这个excel的格式是不能改变的,如果用户突然打了个电话来说:对不起,能不能把单价放在前面,货物名放后面啊???
这时候,苦逼的码农就要重新:
cell[2,0].value = ####
cell[2,1].value =####
cell[3,0].value = #####
重新一个格子一个格子的填,那就太郁闷了。
我的意思是:不能把excel看出一个空表,写程序就是为了填好这个空表!!!
现在从aspose.cells中学会了一招:把excel看成一个说明文档,这个说明文档指导程序怎么填写数据。
下面是一个新的解决方法:
首先把excel模板的数据部分删掉,剩下主题,然后补充上你的数据库里面的查询表面和字段名:
那么查出来的datatable如果有5行就往excel空表里面填写5行,如果仅有1行那么只往excel空表填一个。
代码如下:
//取所需的数据(自己写一个函数) DataTable tb = GetDataTable("select goodsName , goodsPrice from tbGoods", "tbGoods"); Aspose.Cells.WorkbookDesigner designer = new WorkbookDesigner(); //给模板对象设置数据源 designer.SetDataSource(tb); //excel模板的地址 string excelModel = @"E:\chengXu\ExcelTest3\ExcelTest3\files\mydesigner.xls"; designer.Open(excelModel); designer.Process();//全自动赋值 //新生成的excel的保存地址 string fileToSave = @"E:\chengXu\ExcelTest3\ExcelTest3\files\create1.xls"; if (System.IO.File.Exists(fileToSave) == true) { System.IO.File.Delete(fileToSave); } designer.Workbook.Save(fileToSave);
aspose.cells还有用法值得学习,百度一下吧!
相关文章推荐
- 使用Aspose.Cells 根据模板生成excel里面的 line chart
- WinForm使用Aspose.cells利用模板导出Excel
- 使用Aspose.Cells利用模板导出Excel(C#)
- 使用Aspose.Cells生成Excel
- 使用Aspose.Cells生成Excel的线型图表
- 使用Aspose.Cells组件生成Excel文件实例
- 使用Aspose.Cells生成Excel的线型图表
- 使用Aspose.Cells生成Excel的方法详解(转)
- 使用Aspose.Cells生成Excel的方法详解(转)
- 使用Aspose.Cells生成Excel
- 使用Aspose.Cells组件生成Excel文件实例
- 利用Aspose.Cells和Excel模板导出复杂的统计数据
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第二篇
- java 生成excel利器!基于jxls2写的jxls增强版jxlss。使用excel模板生成excel文件
- 使用Aspose.Cell控件实现Excel高难度报表的生成(二)
- 使用Aspose.Cells读取Excel
- 使用Aspose.Cell控件实现Excel高难度报表的生成(二)
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第一篇
- 报表中的Excel操作之Aspose.Cells(Excel模板)
- 使用Aspose.Cell控件实现Excel高难度报表的生成(二)