DataTable TO Excel資料匯出

2021-07-25 18:02:29 字數 3825 閱讀 4175

構建ecxcel格式

using npoi.hpsf;

using npoi.hssf.usermodel;

using npoi.ss.usermodel;

using npoi.ss.util;

using system;

using system.collections.generic;

using system.data;

using system.io;

using system.reflection;

using system.text;

using system.web;

namespace common}}

#endregion datatable匯出到excel檔案

#region datatable匯出到excel的memorystream

/// /// datatable匯出到excel的memorystream

//////

源datatable

///表頭文字

public

static memorystream export(datatable dtsource, string strheadertext)

#endregion 右擊檔案 屬性資訊

icellstyle datestyle = workbook.createcellstyle();

idataformat format = workbook.createdataformat();

datestyle.dataformat = format.getformat("yyyy-mm-dd");

//取得列寬

int arrcolwidth = new

int[dtsource.columns.count];

foreach (datacolumn item in dtsource.columns)

for (int i = 0; i < dtsource.rows.count; i++)}}

int rowindex = 0;

foreach (datarow row in dtsource.rows)

if (!string.isnullorempty(strheadertext))

#endregion 表頭及樣式

}#region 列頭及樣式

headerrow = null;

}#endregion 列頭及樣式

rowindex = 2;

}#endregion 新建表,填充表頭,填充列頭,樣式

#region 填充內容

irow datarow = sheet.createrow(rowindex);

foreach (datacolumn column in dtsource.columns)

}#endregion 填充內容

rowindex++;

}using (memorystream ms = new memorystream())

}#endregion datatable匯出到excel的memorystream

#region 用於datatable web匯出

/// /// 用於datatable web匯出

//////

源datatable

///表頭文字

///檔名

public

static

void

exportbyweb(datatable dtsource, string strheadertext, string strfilename)

#endregion 用於datatable web匯出

#region 讀取excel

///讀取excel

/// 預設第一行為標頭

//////

excel文件路徑

///public

static datatable import(string strfilename)

isheet sheet = hssfworkbook.getsheetat(0);

system.collections.ienumerator rows = sheet.getrowenumerator();

irow headerrow = sheet.getrow(0);

int cellcount = headerrow.lastcellnum;

for (int j = 0; j < cellcount; j++)

for (int i = (sheet.firstrownum + 1); i <= sheet.lastrownum; i++)

dt.rows.add(datarow);

}return dt;

}#endregion 讀取excel

#region list匯出excel檔案

/// /// list匯出excel檔案

//////

資料模型型別

///list列表

///需要顯示的列包括列字段及對應的中文名稱

///表頭

///匯出檔名

/// public

static

void export(listlistsource, dictionary dicshowcolumns, string strheadertext, string strfilename) where t : new()}}

foreach (t model in listsource)

}dt.rows.add(datarow);

}exportbyweb(dt, strheadertext, strfilename);

}///

/// list匯出excel檔案 過載方法匯出所有列

//////

//////

///public

static

void export(listlistsource, string strheadertext, string strfilename) where t : new()

foreach (t model in listsource)

dt.rows.add(datarow);

}exportbyweb(dt, strheadertext, strfilename);

}#endregion list匯出excel檔案

#region 將指定的dtsource轉換成需要匯出的dtexport

/// /// 將指定的dtsource轉換成需要匯出的dtexport

//////

原始資料

///轉換後顯示列

///需要匯出的excel

public

static datatable convert2dtexport(datatable dtsource, dictionary dicshowcolumns)

foreach (datarow dr in dtsource.rows)

dtexport.rows.add(drtemp);

}return dtexport;

}#endregion 將指定的dtsource轉換成需要匯出的dtexport

}}

///

/// 將異常的資料匯出excel

//////

public

static

void

exportbyweb(datatable abnormal,string title)

sql access excel 資料互導

一 sql server 和access的資料匯入匯出 常規的資料匯入匯出 使用dts嚮導遷移你的access資料到sql server,你可以使用這些步驟 1在sql server企業管理器中的tools 工具 選單上,選擇data transformation 2services 資料轉換服務 ...

mysql導表資料

匯出表結構及資料 mysqldump uroot h com p dbname tablename tablename.txt 僅匯出表結構加 d mysqldump uroot h com p d dbname tablename tablename.txt 備份所有資料庫 mysqldump u...

sqlplus 導oracle資料資料亂碼問題

使用的sqlplus匯出資料,前段時間還好好的,現在突然亂碼,資料庫中不亂碼 解決方法 1.export引數 export nls lang simplified chinese china.zhs16gbk 2.修改配置單數 修改 etc bashrc 中的引數,新增相關資訊 nls lang s...