/// <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)的更多相关文章

  1. bootstrap-table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)

    1.bootstrap-table 单击单行选中 $('#gzrwTable').on('click-row.bs.table', function(e, row, $element) { $('.s ...

  2. 将treeview控件内容导出图片

    项目中有一项需求,需要将项目中的treeview控件展示的树状结构直接导成一张图片.网上方法很多,但很多都是屏幕截屏,我的解决思路是新建一个用户控件,将主窗体的Treeview的数据传给用户控件(不要 ...

  3. C# listview控件右击导出数据到txt文本

    private void 导出成功点击ToolStripMenuItem_Click(object sender, EventArgs e) { ) { MessageBox.Show("列 ...

  4. C# 把控件内容导出图片

    Bitmap newbitmap = new Bitmap(panelW.Width, panelW.Height);            panelW.DrawToBitmap(newbitmap ...

  5. C#导出 Excel 时, 生成 CheckBox 控件

    在使用 Microsoft.Office.Interop.Excel 组件导出Excel 表格时,要把导出前的  CheckBox 控件一同导出到 excel 表格中,对于这个功能 看似很简单,但 M ...

  6. 网页(aspx)与用户控件(ascx)交互逻辑处理实现

    几个页面(ASPX)都使用一些相同的控件,一个文本框,二个按钮(搜索和导出),为了以后好维护,把这相同的部分抽取放在一个用户控件(ASCX)上.现需要处理逻辑如下 搜索事件处理的逻辑在各个页面处理. ...

  7. ActiveReports 报表控件V12新特性 -- 新增JSON和CSV导出

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  8. winform导入导出excel,后台动态添加控件

    思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...

  9. 支持.NET和移动设备的XLS读写控件XLSReadWriteII下载地址及介绍

    原文来自龙博方案网http://www.fanganwang.com/product/3085转载请注明出处 读写任何单元值 数字型.字符型.布尔型以及错误型.但是你了解日期和时间型单元吗?在Exce ...

随机推荐

  1. stm32之UCOS-III

    一.UCOS-III 学习UCOS-III,一般会学习以下内容: 任务创建.删除.挂起.恢复等: 临界区:独占CPU,尽量少用,否则会降低效率: 时间管理:时钟节拍(基于硬件定时器).软件定时器: 互 ...

  2. 洛谷-机器翻译-NOIP2010提高组复赛

    题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先 ...

  3. java处理中日文字符串的乱码问题

    ——杂言:前段时间在处理音频预览问题,详见关于audiojs的研究.期间,将远端的音频下载并缓存在本地过程中,涉及到java.io.*的几个操作,发生一些乱码问题. 我以前的处理是将本地的编码转换为U ...

  4. RN控件之ProgressBarAndroid进度条

    /** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import Rea ...

  5. vue的安装配置

    1.访问vue的官网: https://cn.vuejs.org/v2/guide/installation.html安装配置 2.安装淘宝镜像项目搭建 .安装node  到官网下载安装.  (中)h ...

  6. Angular09 数据绑定、响应式编程、管道

    1 数据绑定的分类 1.1 单向数据绑定 1.1.1 属性绑定 -> 数据从组件控制类到组件模板 DOM属性绑定 HTML属性绑定 1.1.2 事件绑定 -> 数据从组件模板到组件控制类 ...

  7. 业务逻辑:完成基于CRM地址完全匹配的自动分单业务逻辑

    思路: 后台系统的业务接口服务处理接收到的数据并使用Webservice技术来远程调用CRM系统的业务接口服务来进行定区的查询操作,随后从该定区中匹配一个快递员来分配工单并发送短信通知取件 操作步骤: ...

  8. Learning Python 010 函数 2

    Python 函数 2 函数的参数 位置参数(普通,正常的参数) 随便编写一个求x^n的值的函数power(x, n): def power(x, n): s = 1 while n > 0: ...

  9. 【vue2.X+iview2.x】iView在非 template/render 模式下标签的转化

    iView在非 template/render 模式下标签的转化. 以下组件,在非 template/render 模式下组件名要分隔: DatePicker:date-picker FormItem ...

  10. 「CF744C」Hongcow Buys a Deck of Cards「状压 DP」

    题意 你有\(n\)个物品,物品和硬币有\(A\),\(B\)两种类型,假设你有\(M\)个\(A\)物品和\(N\)个\(B\)物品 每一轮你可以选择获得\(A, B\)硬币各\(1\)个,或者(硬 ...