欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 编程语言 > c# >内容正文

c#

c# 按部门拆分excel文件 -ag凯发k8国际

发布时间:2024/10/12 c# 28 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 c# 按部门拆分excel文件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

按照所属部门不同将excel文件拆分成多个文件

string excel_path = @"g:\zhyue\backup\2018-08-01 读取腾讯邮箱接口-获取一个月内未接收到外部邮件且已离职的邮箱\address_biz (4).csv"; string save_path = @"g:\zhyue\backup\2018-08-01 读取腾讯邮箱接口-获取一个月内未接收到外部邮件且已离职的邮箱\拆分excel\";//解决中文乱码 txtloadoptions lo = new txtloadoptions(); lo.encoding = encoding.default;//打开excel文件 workbook curr_wb = file.exists(excel_path) ? new workbook(excel_path, lo) : new workbook(); //打开第一个sheet worksheet sheet_first = curr_wb.worksheets[0]; cells cells = sheet_first.cells; //一共多少行数据 int rows = sheet_first.cells.maxdatarow 1;//不同的部门名称集合 list<string> lst_departments = new list<string>(); //excel的数据集合 list lst_excel = new list();for (int i = 1; i < rows; i ) {//从第二行开始lst_excel.add(new userinfo(){username = cells[i, 0].stringvalue,email = cells[i, 1].stringvalue,othername = cells[i, 2].stringvalue,department = cells[i, 3].stringvalue,contact = cells[i, 4].stringvalue,phone = cells[i, 5].stringvalue,sex = cells[i, 6].stringvalue,position = cells[i, 7].stringvalue,number = cells[i, 8].stringvalue,bindwechat = cells[i, 9].stringvalue,remark = cells[i, 10].stringvalue}); }//遍历不同的部门 lst_excel.select(x => x.department).distinct().tolist().foreach(x => {workbook wb1 = new workbook();worksheet sheet_first1 = wb1.worksheets[0];cells cells1 = sheet_first1.cells;//新生成的excel文件名string[] str_arr1 = x.split('/');string department_new_name = str_arr1.length > 1 ? x.substring(x.indexof('/') 1).replace('/', '-') : x;cells1[0, 0].putvalue("姓名");cells1[0, 1].putvalue("电子邮件");cells1[0, 2].putvalue("别名");cells1[0, 3].putvalue("所属部门");cells1[0, 4].putvalue("联系电话");cells1[0, 5].putvalue("手机");cells1[0, 6].putvalue("性别");cells1[0, 7].putvalue("职务");cells1[0, 8].putvalue("编号");cells1[0, 9].putvalue("绑定微信");cells1[0, 10].putvalue("备注");int i = 1;//当前行数 从第2行开始//查找excel中的这些部门并遍历lst_excel.where(y => y.department == x).tolist().foreach(y =>{cells1[i, 0].putvalue(y.username);cells1[i, 1].putvalue(y.email);cells1[i, 2].putvalue(y.othername);cells1[i, 3].putvalue(y.department);cells1[i, 4].putvalue(y.contact);cells1[i, 5].putvalue(y.phone);cells1[i, 6].putvalue(y.sex);cells1[i, 7].putvalue(y.position);cells1[i, 8].putvalue(y.number);cells1[i, 9].putvalue(y.bindwechat);cells1[i, 10].putvalue(y.remark);i ;});wb1.save(save_path department_new_name ".xlsx", saveformat.xlsx); });

结果:

每个excel里面都只有自己部门的数据

转载于:https://www.cnblogs.com/zhyue93/p/csharp_excel.html

总结

以上是ag凯发k8国际为你收集整理的c# 按部门拆分excel文件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

网站地图