无需控件直接导出xls(csv)
/// <summary>
/// 执行导出
/// </summary>
/// <param name="ds">要导出的DataSet</param>
/// <param name="strExcelFileName">要导出的文件名</param>
private void dataTableToCsv(DataTable table, string file)
{
string title = "";
Dictionary<string ,string> xlsDic=new Dictionary<string,string>();
xlsDic.Add("F_20", "实出勤天数");
xlsDic.Add("F_31", "应出勤天数");
xlsDic.Add("F_22", "病假天数");
xlsDic.Add("F_24", "事假天数");
xlsDic.Add("F_25", "旷工天数");
xlsDic.Add("F_37", "月发绩效");
xlsDic.Add("F_38", "出差补助");
xlsDic.Add("F_39", "其他补助");
xlsDic.Add("F_40", "调补工资");
xlsDic.Add("F_41", "餐补");
xlsDic.Add("F_27", "加班费");
xlsDic.Add("F_34", "上月病假是否满月");
xlsDic.Add("F_36", "工资标准");
xlsDic.Add("cGZGradeNum", "cGZGradeNum");
xlsDic.Add("iPsnGrd_id", "iPsnGrd_id");
xlsDic.Add("cPsn_Num", "编号");
xlsDic.Add("cPsn_Name", "姓名");
xlsDic.Add("cDept_Num", "部门编号");
xlsDic.Add("iYear", "年");
xlsDic.Add("iMonth", "月");
FileStream fs = new FileStream(file, FileMode.OpenOrCreate);
//FileStream fs1 = File.Open(file, FileMode.Open, FileAccess.Read);
StreamWriter sw = new StreamWriter(new BufferedStream(fs), System.Text.Encoding.Default);
for (int i = 0; i < table.Columns.Count; i++)
{
title += xlsDic[table.Columns[i].ColumnName] + "\t"; //栏位:自动跳到下一单元格
}
title = title.Substring(0, title.Length - 1) + "\n";
sw.Write(title);
foreach (DataRow row in table.Rows)
{
string line = "";
for (int i = 0; i < table.Columns.Count; i++)
{
switch (i)
{
case 0:
case 1:
case 2:
case 3:
case 4:
line += row[i].ToString().Trim() + "\t"; //内容:自动跳到下一单元格
break;
case 5:
line += DateTime.Now.Year.ToString() + "\t";
break;
case 6:
line += DateTime.Now.Month.ToString() + "\t";
break;
default:
line += "\t"; //内容为空:自动跳到下一单元格
break;
}
}
line = line.Substring(0, line.Length - 1) + "\n";
sw.Write(line);
}
sw.Close();
fs.Close();
}
无需控件直接导出xls(csv)的更多相关文章
- bootstrap-table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)
1.bootstrap-table 单击单行选中 $('#gzrwTable').on('click-row.bs.table', function(e, row, $element) { $('.s ...
- 将treeview控件内容导出图片
项目中有一项需求,需要将项目中的treeview控件展示的树状结构直接导成一张图片.网上方法很多,但很多都是屏幕截屏,我的解决思路是新建一个用户控件,将主窗体的Treeview的数据传给用户控件(不要 ...
- C# listview控件右击导出数据到txt文本
private void 导出成功点击ToolStripMenuItem_Click(object sender, EventArgs e) { ) { MessageBox.Show("列 ...
- C# 把控件内容导出图片
Bitmap newbitmap = new Bitmap(panelW.Width, panelW.Height); panelW.DrawToBitmap(newbitmap ...
- C#导出 Excel 时, 生成 CheckBox 控件
在使用 Microsoft.Office.Interop.Excel 组件导出Excel 表格时,要把导出前的 CheckBox 控件一同导出到 excel 表格中,对于这个功能 看似很简单,但 M ...
- 网页(aspx)与用户控件(ascx)交互逻辑处理实现
几个页面(ASPX)都使用一些相同的控件,一个文本框,二个按钮(搜索和导出),为了以后好维护,把这相同的部分抽取放在一个用户控件(ASCX)上.现需要处理逻辑如下 搜索事件处理的逻辑在各个页面处理. ...
- ActiveReports 报表控件V12新特性 -- 新增JSON和CSV导出
ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...
- winform导入导出excel,后台动态添加控件
思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...
- 支持.NET和移动设备的XLS读写控件XLSReadWriteII下载地址及介绍
原文来自龙博方案网http://www.fanganwang.com/product/3085转载请注明出处 读写任何单元值 数字型.字符型.布尔型以及错误型.但是你了解日期和时间型单元吗?在Exce ...
随机推荐
- JAVA基础知识总结3(面向对象)
特点:过程其实就是函数:对象是将函数等一些内容进行了封装 1:将复杂的事情简单化. 2:面向对象将以前的过程中的执行者,变成了指挥者. 3:面向对象这种思想是符合现在人们思考习惯的一种思想. 匿名对象 ...
- Spring开发环境搭建
----------------siwuxie095 Spring 是运行在 Java 环境下的开发框架,因此在开发前需要 准备以下相关软件: JDK 7 或者以上版本 Eclipse 4 或以上版本 ...
- .net开发ActiveX控件
我估计有些朋友不清楚ActiveX控件,但这篇博客不是来解释这些概念的.如果你对ActiveX的概念不清楚,请参考这里: http://baike.baidu.com/view/28141.htm 这 ...
- 9、perldoc文档阅读器
转载:http://www.cnblogs.com/nkwy2012/p/6016320.html 一般来说,将文档的名称作为参数传递给perldoc命令,即可查阅该文档.比如下面,给定文档名称per ...
- window 删除文件提示指定的文件名无效或太长
方法0: 使用 chkdsk 磁盘修复工具 .单击“开始”,点击“运行”,输入cmd并回车打开命令提示符窗口: .在此窗口输入以下命令: 例如:检查并修复D分区 chkdsk D: /f 回车,输入 ...
- 阶段3-团队合作\项目-网络安全传输系统\sprint3-账号管理子系统设计\第2课-账号管理子系统设计
账号管理子系统的设计 客户端需要登录到服务器,在服务器去查询数据库,进行验证该用户. 打开client.c文件 编译之 把它复制到开发板里面去 这个程序是在本地数据库测试的!!!!!!!!!!!!!! ...
- springboot 使用war包部署
ps://www.cnblogs.com/jiaoyiping/p/4251718.html
- const指针与指向const的指针
当使用带有const的指针时其实有两种意思.一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容.听起来有点混淆一会放个例子上来就明白了. 先说指向const的指针,它 ...
- Unity 分场景打包
分场景打包步骤:导入unity中AB包后 1: 指定场景 2: 指定abname 3: 指定objinabname 4: 协同 5: 委托 void string unity 先引入命名空间 ...
- Syslog+Fluentd+InfluxDB日志收集系统搭建
环境配置 节点 配置 类型 操作系统 Sched 2G 2CPU 50GB ens3=>192.168.200.11 KVM虚拟机 CentOS 7 Nova 4G 2CPU 50GB ens3 ...