亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#使用Datatable導出Excel

2019-10-29 19:58:39
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C#使用Datatable導出Excel的具體代碼,供大家參考,具體內容如下

using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using System;using System.Collections.Generic;using System.Data;using System.IO;using System.Linq;using Newtonsoft.Json;namespace EasyFrame.Common{ /// <summary> ///title調用信息 /// </summary> public class ChartTitle {  /// <summary>  /// 調用名  /// </summary>  public string CallName { get; set; }  /// <summary>  /// 標頭信息  /// </summary>  public List<ChartName> SetNameList { get; set; } } public class ChartName {  /// <summary>  /// 一級標頭  /// </summary>  public string Name { get; set; }  /// <summary>  /// 二級標頭  /// </summary>  public List<string> ChartChildNameList { get; set; } } public class ExcelHelper {  //  /// <summary>  /// Datatable導出Excel  /// </summary>  /// <param name="dt">數據</param>  /// <param name="list">表頭</param>  /// <param name="counts">總條數</param>  /// <param name="filePath">保存地址</param>  /// <returns></returns>  public static MemoryStream WriteExcel(DataTable dt, List<ChartTitle> objlist, string filePath)  {   var list = objlist.FirstOrDefault(a => a.CallName == "ccc").SetNameList;   if (!string.IsNullOrEmpty(filePath) && null != dt && dt.Rows.Count > 0)   {    XSSFWorkbook book = new XSSFWorkbook();    NPOI.SS.UserModel.ISheet sheet = book.CreateSheet(dt.TableName);    ICell cell = null;    ICellStyle style = book.CreateCellStyle();    IFont font = book.CreateFont();//創建字體樣式     IFont fonts = book.CreateFont();//創建字體樣式     IFont fontss = book.CreateFont();//創建字體樣式     font.Color = NPOI.HSSF.Util.HSSFColor.Red.Index;//設置字體顏色    ICellStyle styles = book.CreateCellStyle(); //紅色    fonts.Color = NPOI.HSSF.Util.HSSFColor.Green.Index;    ICellStyle styless = book.CreateCellStyle(); //綠色    fontss.Color = NPOI.HSSF.Util.HSSFColor.Blue.Index;    ICellStyle stylesss = book.CreateCellStyle(); //藍色    styless.SetFont(fonts);    styles.SetFont(font);    stylesss.SetFont(fontss);    style.Alignment = HorizontalAlignment.Center;    NPOI.SS.UserModel.IRow row1 = sheet.CreateRow(0);    NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(1);    var row = row1;    int num = 0;//記錄列    var d = true;//是否第一次加載到二級表單    #region 創建表頭    //兩行單列    for (int i = 0; i < list.Count; i++)    {     if (!d)     {      row = row1;      d = true;     }     if (list[i].ChartChildNameList == null)     {      cell = row.CreateCell(num);      sheet.SetColumnWidth(num, 15 * 256);      cell.SetCellValue(list[i].Name);      cell.CellStyle = style;      sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 1, num, num));      num++;      continue;     }     //兩行多列     var count = list[i].ChartChildNameList.Count; //列數     cell = row.CreateCell(num);     cell.SetCellValue(list[i].Name);     cell.CellStyle = style;     sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, num, count + num - 1));     if (d)     {      d = false;      row = row2;     }     var t = 0;     var rang = sheet.GetRow(1);     for (int j = 0; j < count; j++)     {      sheet.SetColumnWidth(num + t, 5 * 256);      cell = row.CreateCell(num + t);      cell.SetCellValue(list[i].ChartChildNameList[j]);      cell.CellStyle = style;      t++;     }     num = num + count;    }    #endregion 創建表頭    #region 寫入數據    int customs = 0;//記錄列數    int clouns = 0;//記錄行數    filePath = string.Format(filePath, "XXX");    #region 導出操作    var data1 = JsonConvert.DeserializeObject<List<類名>>(dt.Rows[0][0].ToString());    foreach (var item in data1)    {     NPOI.SS.UserModel.IRow rows = sheet.CreateRow(clouns + 2);     customs = 0;     rows.CreateCell(customs).SetCellValue(Convert.ToString(item.No)); customs++;     rows.CreateCell(customs).SetCellValue(Convert.ToString(item.LotteryOpenNo)); customs++;     for (int i = 0; i < item.Wan.Length; i++)     {      if (item.LotteryOpenNo.Split(',')[0] == item.Wan[i].ToString())      {       cell = rows.CreateCell(customs);       cell.SetCellValue(item.Wan[i]);       cell.CellStyle = styles;       customs++;      }      else      {       rows.CreateCell(customs).SetCellValue(item.Wan[i]); customs++;      }     }     for (int j = 0; j < item.Qian.Length; j++)     {      if (item.LotteryOpenNo.Split(',')[1] == item.Qian[j].ToString())      {       cell = rows.CreateCell(customs);       cell.SetCellValue(item.Qian[j]);       cell.CellStyle = styles;       customs++;      }      else      {       rows.CreateCell(customs).SetCellValue(item.Qian[j]); customs++;      }     }     for (int k = 0; k < item.Bai.Length; k++)     {      if (item.LotteryOpenNo.Split(',')[2] == item.Bai[k].ToString())      {       cell = rows.CreateCell(customs);       cell.SetCellValue(item.Bai[k]);       cell.CellStyle = styles;       customs++;      }      else      {       rows.CreateCell(customs).SetCellValue(item.Bai[k]); customs++;      }     }     for (int l = 0; l < item.Shi.Length; l++)     {      if (item.LotteryOpenNo.Split(',')[3] == (item.Shi[l].ToString()))      {       cell = rows.CreateCell(customs);       cell.SetCellValue(item.Shi[l]);       cell.CellStyle = styles;       customs++;      }      else      {       rows.CreateCell(customs).SetCellValue(item.Shi[l]); customs++;      }     }     for (int m = 0; m < item.Ge.Length; m++)     {      if (item.LotteryOpenNo.Split(',')[4] == (item.Ge[m].ToString()))      {       cell = rows.CreateCell(customs);       cell.SetCellValue(item.Ge[m]);       cell.CellStyle = styles;       customs++;      }      else      {       rows.CreateCell(customs).SetCellValue(item.Ge[m]); customs++;      }     }     for (int n = 0; n < item.Fen.Length; n++)     {      if (item.LotteryOpenNo.Contains(item.Fen[n].ToString()))      {       cell = rows.CreateCell(customs);       cell.SetCellValue(item.Fen[n]);       cell.CellStyle = styles;       customs++;      }      else      {       rows.CreateCell(customs).SetCellValue(item.Fen[n]); customs++;      }     }     clouns++;    }    #endregion    #endregion 寫入數據    // 寫入到客戶端     using (System.IO.MemoryStream ms = new System.IO.MemoryStream())    {     book.Write(ms);     using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))     {      byte[] data = ms.ToArray();      fs.Write(data, 0, data.Length);      fs.Flush();     }     book = null;     return ms;    }   }   return null;  } }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲国产精品| 亚洲激情视频在线播放| 欧洲成人在线视频| 欧洲中文字幕国产精品| 97av在线视频| 欧美日韩国产一区中文午夜| 亚洲午夜未删减在线观看| 欧美激情在线观看| 77777少妇光屁股久久一区| 精品久久久久久电影| 成人国产精品一区| 欧美xxxx18性欧美| 国产一区二区丝袜| 亚洲成人aaa| 黑人精品xxx一区| 精品视频9999| 日韩免费av一区二区| 久久久国产影院| 久久久久久久久久久久久久久久久久av| 久热爱精品视频线路一| 91免费电影网站| 亚洲欧美国产一区二区三区| 国产成人在线视频| 最好看的2019年中文视频| 欧美日韩性视频| 国产主播精品在线| 中文字幕欧美视频在线| 亚洲女成人图区| 国产精品嫩草影院久久久| 97精品国产91久久久久久| 午夜精品久久17c| 欧美一级视频在线观看| 国产精品久久久久久亚洲调教| 国产一区二区三区在线| 日韩成人中文字幕在线观看| 欧美综合第一页| 日本一欧美一欧美一亚洲视频| 亚洲第一综合天堂另类专| 国产精品96久久久久久又黄又硬| 日韩av成人在线| 欧美精品18videosex性欧美| 久久成人精品一区二区三区| 91精品在线一区| 欧美色欧美亚洲高清在线视频| 亚洲精品videossex少妇| 秋霞av国产精品一区| 国产欧美久久一区二区| 成人免费视频a| 亚洲天堂av在线免费| 国内自拍欧美激情| 欧美丰满少妇xxxxx做受| 欧美日韩午夜视频在线观看| 亚洲人成在线一二| 国产精品电影久久久久电影网| 国产精品av在线| 午夜精品蜜臀一区二区三区免费| 亚洲精品中文字幕av| 国产欧美va欧美va香蕉在| 久久久久这里只有精品| 久久成人18免费网站| 日韩不卡中文字幕| 日韩亚洲成人av在线| 亚洲第一精品夜夜躁人人爽| 91视频免费在线| 国产精品三级网站| 亚洲国内精品视频| www.美女亚洲精品| 国产999精品视频| 欧美日韩在线观看视频小说| 欧美激情视频在线观看| www.日韩欧美| 色悠久久久久综合先锋影音下载| 久久精品国产2020观看福利| 国产日韩av高清| 久久电影一区二区| 亚洲视频欧洲视频| 亚洲一区免费网站| 91精品国产综合久久久久久久久| 欧美性猛交xxxx免费看久久久| 国产精品高清在线| 久久久久久亚洲精品中文字幕| 亚洲日本成人网| 国产91久久婷婷一区二区| 国产成人久久久| www.亚洲成人| 国产一区二区三区网站| 日本成人精品在线| 久久久久久69| 中文在线资源观看视频网站免费不卡| 欧美一区深夜视频| 精品国产成人av| 日韩欧美精品中文字幕| 欧美诱惑福利视频| 日韩午夜在线视频| 欧美贵妇videos办公室| 亚洲第一精品福利| 亚洲一区二区黄| 国产精品白丝jk喷水视频一区| 亚洲色图五月天| 久久久久久久久久久成人| 久久99久久亚洲国产| 亚洲色图偷窥自拍| 懂色av中文一区二区三区天美| 亚洲精品久久久久久久久久久久久| 久久国产精品99国产精| 亚洲第一精品夜夜躁人人躁| 国产视频精品久久久| 97国产suv精品一区二区62| 91精品一区二区| 91香蕉嫩草神马影院在线观看| 国产这里只有精品| 日本免费在线精品| 日韩成人激情影院| 永久免费看mv网站入口亚洲| 26uuu亚洲伊人春色| 一区二区日韩精品| 久久午夜a级毛片| 日韩成人av在线| 久久久久久久久久久国产| 国产精品影片在线观看| 亚洲在线www| 7m第一福利500精品视频| 成人免费福利视频| 国产午夜精品一区二区三区| 欧美怡红院视频一区二区三区| 亚洲视频在线观看视频| 久久久久久久影院| 91在线观看免费高清| 亚洲一区二区三区在线视频| 欧美一区二区三区免费视| 国产精品一区二区久久| 一区二区三区久久精品| 黑丝美女久久久| 欧美性猛交xxxx乱大交| 69久久夜色精品国产7777| 亚洲精品av在线| 日本高清+成人网在线观看| 国产精品视频免费在线| 精品久久香蕉国产线看观看亚洲| 日本久久精品视频| 亚洲热线99精品视频| 欧美精品在线观看91| 91中文在线视频| 亚洲福利视频免费观看| 久久精品青青大伊人av| 成人国产精品久久久| 欧美亚洲另类激情另类| 亚洲a中文字幕| 亚洲一区二区三区四区在线播放| 日韩成人av在线播放| 最近中文字幕mv在线一区二区三区四区| 日韩色av导航| 韩日欧美一区二区| 国产亚洲精品成人av久久ww| 欧美丝袜一区二区| 亚洲综合一区二区不卡| 日韩国产一区三区| 日韩精品999| 全亚洲最色的网站在线观看| 一区二区三区视频观看| 欧美激情2020午夜免费观看| 欧美精品在线看| 国产主播在线一区| 欧美刺激性大交免费视频|