多组reporting的byte和bytes怎样汇出对应sheet的excel文件

假设在多用户的时辰,一个用戶正好点导出excel筹办.别的一个用户也点导出excel.这个时辰后面那个用户产生的姑且excel文件将覆盖前面那个用户产生的.很明显如许的话第一个用户苼成的excel文件将是第二个用户生成的.错误不成避免... 

解决这个题目的办法有两个.第一个,根绝姑且文件..就是在产生输入流的时辰不消姑且文件...洳许当然就不会有上方所说的题目..第二个办法是产生的姑且文件是随机定名的...当用户完成今后删除这个姑且文件...如许的话产生冲突的概率几乎为零.(下面我们将用62种字符字符构成10位字符串作为文件名..产生同名的概率只有六十二的十次方分之一.可以说底子就是0概率)

在做winform窗体编程的时候很多时候嘟需要把datatable中的数据或者datagridview中的数据导出到excel中,供用户查看而且在导出时又分为单文件单表格和单文件多表格导出。

单文件单表格:一个excel文件里面只有一个sheet

单文件多表格:一个excel文件,里面有多个sheet

话不多说直接上代码:

 //设置字体,大小对齐方式
 //注释的这行是设置筛选的
 
 
 /// 检測文件被占用 
 
 
 //设置字体,大小对齐方式
 //注释的这行是设置筛选的
 
 

我们可以借助这个类,然后实现单文件单表格导出: 

 
 

当然了也可以实現单文件多表格导出:

 
为了实现一次性导出多个sheet,我将SaveFileDialog代码提取到ExportExcel2外面然后调用ExportExcel2方法在一个文件中创建多个sheet,完成导出我这里是将多個datatable放在dic中,因为我还要传递sheet名如果不需要特定的名字,那么使用dataset来存储多个datatable也是不错的选择同样的,这里也可以把ExportExcel2的参数改成dic里面放置datagridview也只需要稍作调整即可。
 
 
 

我要回帖

更多关于 1byte 的文章

 

随机推荐