目录
应用场景
设计约定
范例运行环境
配置Office DCOM
实现代码
组件库引入
核心代码
DataSet转二维数组
导出写入WORD表格
调用举例
小结
应用场景
存储或导出个人WORD版简历是招聘应用系统中的常用功能,我们通常会通过应用系统采集用户的个人简历信息到数据库,许多情况下我们会读取数据记录导出到WORD文件中,以便汇总、打印。其中,WORD表格元素是经常会被用到的,比如问卷调查表格、教育经历表格、工作经历表格等等。
设计约定
1、设计WORD模板,在需要输出值的地方绘制表格,表格的数量对应输出的数据表数量。
2、根据条件查询数据表,生成 DataSet ,遍历 Tables ,生成对应的二维数组集合,将数据输出到对应的WORD表格中。
3、按约定,WORD表格的数量应该大于等于 DataSet 里的 Tables 数量。
4、按参数设定对应的WORD表格ID序号,如参数设定为2,则表示输出到WORD文件中的第二个表格中。(注意:WORD表格序号以1为开始)
在输出写入的方式中,我们约定有两种方式:
一为覆盖式写入(即已预知数据输出模式)举例如下图:
二为动态式写入(即未知数据行数量)举例如下图:
范例运行环境
操作系统: Windows Server 2019 DataCenter
操作系统上安装 Office Word 2016
数据库:Microsoft SQL Server 2016
.net版本: .netFramework4.7.1 或以上
开发工具:VS2019 C#
配置Office DCOM
配置方法可参照我的文章《C# 读取Word表格到DataSet》进行处理和配置。
实现代码
组件库引入
核心代码
DataSet转二维数组
public object[,] DataSetToObjectData(DataSet ds,int TableId,bool hastitle),该方法提供3个参数,DataSet数据集、指定表索引、导出是否包含标题列名称。
public object[,] DataSetToObjectData(DataSet ds,int TableId,bool hastitle) { ArrayList rowdata = new ArrayList(); int _fieldcount=ds.Tables[TableId].Columns.Count; Object[] colvalues = new Object[_fieldcount]; for(int i=0;i
还没有评论,来说两句吧...