一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C# NPOI 操作EXCEL文件的讀取和導(dǎo)出

 小勛3z4x5gfoiq 2020-05-02

在實(shí)際項(xiàng)目中有很多場(chǎng)景遇到需要操作EXCEL文件,而常用到的庫(kù)就有NPOI;NPOI是開(kāi)源的POI 項(xiàng)目的.NET版,POI是一個(gè)開(kāi)源的Java讀寫(xiě)Excel、WORD等微軟OLE2組件文檔的項(xiàng)目, 使用 NPOI 你就可以在沒(méi)有安裝 Office 或者相應(yīng)環(huán)境的機(jī)器上對(duì) WORD/EXCEL 文檔進(jìn)行讀寫(xiě)。在處理Excel文件上,NPOI 可以同時(shí)兼容 xls 和 xlsx。

程序集構(gòu)成

一、引用

在NuGet里搜索NPOI,選擇下圖的項(xiàng)目安裝即可;

二、程序示例:

部分代碼如下:

(1)導(dǎo)出EXCEL代碼

public void Export_Excel(string path)

{

string extension= Path.GetExtension(path).ToLower();

IWorkbook workbook;

if (extension=='.xlsx')

{

workbook = new XSSFWorkbook();

}

else

{

workbook = new HSSFWorkbook();

}

ISheet sheet = workbook.CreateSheet('表1');

using(FileStream fs=new FileStream(path,FileMode.Create,FileAccess.ReadWrite))

{

IRow row_Head = sheet.CreateRow(0);

for (int i = 0; i < dataGridView1.Columns.Count; i++)

{

ICell cell = row_Head.CreateCell(i);

cell.SetCellValue(dataGridView1.Columns[i].HeaderText);

}

for (int i = 0; i < dataGridView1.Rows.Count; i++)

{

IRow row1 = sheet.CreateRow(i + 1);

for (int j = 0; j < dataGridView1.Columns.Count; j++)

{

ICell cell = row1.CreateCell(j);

if(dataGridView1.Rows[i].Cells[j].Value==null)

cell.SetCellValue('');

else

cell.SetCellValue(dataGridView1.Rows[i].Cells[j].Value.ToString());

}

}

workbook.Write(fs);

workbook.Close();

}

}

(2)讀取EXCEL文件代碼public void Import_Excel(string path)

{

DataTable dt = new DataTable();

using (FileStream fsRead = new FileStream(path, FileMode.Open, FileAccess.Read))

{

string extension = Path.GetExtension(path).ToLower();

IWorkbook workbook;

if (extension == '.xlsx')

{

workbook = new XSSFWorkbook(fsRead);

}

else

{

workbook = new HSSFWorkbook(fsRead);

}

ISheet sheet = workbook.GetSheetAt(0);

IRow currentRow = sheet.GetRow(0);

//最后一個(gè)方格的編號(hào) 即總的列數(shù)

int cellCount = currentRow.LastCellNum;

dataGridView1.DataSource = null;

for (int i = 0; i < cellCount; i++)

{

//DataColumn dc = new DataColumn();

dt.Columns.Add( currentRow.GetCell(i).ToString());//增加列

}

for (int j = 0; j <= sheet.LastRowNum - 1; j++)

{

dt.Rows.Add();//增加行

IRow currentRow1 = sheet.GetRow(j + 1);

if (currentRow1 != null)

{

for (int c = 0; c < currentRow1.LastCellNum; c++)

{

ICell cell = currentRow1.GetCell(c);

if (cell == null || cell.CellType == CellType.Blank)

{

dt.Rows[j][c] = DBNull.Value;

}

else

{

//如果當(dāng)前單元格不為空,則根據(jù)單元格的類(lèi)型獲取數(shù)據(jù)

switch (cell.CellType)

{

//只有當(dāng)單元格的數(shù)據(jù)類(lèi)型是數(shù)字類(lèi)型的時(shí)候使用cell.NumericCellValue來(lái)獲取值。其余類(lèi)型都使用字符串來(lái)獲取.日期類(lèi)型數(shù)據(jù)插入單元格后也是CellType.NUMERIC

case CellType.Numeric:

//cell.NumericCellValue;

dt.Rows[j][c] = cell.NumericCellValue;

break;

default:

//cell.ToString();

dt.Rows[j][c] = cell.ToString();

break;

}

}

}

}

}

dataGridView1.DataSource = dt;

workbook.Close();

}

}

三、感謝您的閱讀,完整代碼已上傳,關(guān)注點(diǎn)贊后發(fā)送私信“NPOI”即可獲取。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    91精品蜜臀一区二区三区| 高清欧美大片免费在线观看| 果冻传媒精选麻豆白晶晶| 国产亚洲午夜高清国产拍精品| 国产成人亚洲综合色就色| 三级理论午夜福利在线看| 欧美激情中文字幕综合八区| 97人摸人人澡人人人超碰| 嫩草国产福利视频一区二区| 久久久免费精品人妻一区二区三区| 亚洲精品日韩欧美精品| 中文字幕佐山爱一区二区免费| 欧美一区二区黑人在线| 中文字幕在线区中文色| 亚洲精品国产第一区二区多人| 午夜精品成年人免费视频| 日韩一区二区三区四区乱码视频| 99秋霞在线观看视频| 狠狠干狠狠操亚洲综合| 日韩国产中文在线视频| 91偷拍裸体一区二区三区| 亚洲欧美黑人一区二区| 视频在线观看色一区二区| 粉嫩国产一区二区三区在线| 果冻传媒精选麻豆白晶晶 | 亚洲一区二区三区有码| 中文字幕无线码一区欧美| 经典欧美熟女激情综合网| 精品精品国产自在久久高清| 国产精品欧美日韩中文字幕| 中文字幕人妻日本一区二区| 一区二区三区欧美高清| 亚洲欧美国产中文色妇| 黄色av尤物白丝在线播放网址| 欧美日韩精品一区二区三区不卡| 特黄大片性高水多欧美一级| 不卡在线播放一区二区三区| 国产欧美日产中文一区| 六月丁香六月综合缴情| 大胆裸体写真一区二区| 中文精品人妻一区二区|