• 无需控件直接导出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] + " "; //栏位:自动跳到下一单元格

    }

    title = title.Substring(0, title.Length - 1) + " ";

    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() + " "; //内容:自动跳到下一单元格
    break;
    case 5:
    line += DateTime.Now.Year.ToString() + " ";
    break;
    case 6:
    line += DateTime.Now.Month.ToString() + " ";
    break;
    default:
    line += " "; //内容为空:自动跳到下一单元格
    break;
    }


    }

    line = line.Substring(0, line.Length - 1) + " ";

    sw.Write(line);

    }

    sw.Close();

    fs.Close();

    }

  • 相关阅读:
    查看mysql版本的四种方法及常用命令
    newInstance和new的区别(good)
    Citrix 服务器虚拟化之六 Xenserver虚拟机创建与快照
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 2的次幂表示
    Java实现 蓝桥杯 算法训练 2的次幂表示
    Java实现 蓝桥杯 算法训练 前缀表达式
    Java实现 蓝桥杯 算法训练 前缀表达式
  • 原文地址:https://www.cnblogs.com/qiulang/p/3484030.html
Copyright © 2020-2023  润新知