NPOI--------------.Net操做Excel初步使用(導出)

背景

因公司項目須要添加數據導出功能故此添加,找了幾種方式發現該方式具備 無需依賴本機安裝office環境,使用靈活等優勢故採用此方式。數組

安裝

Nuget 直接安裝NPOI便可ide

使用方式

1.根據須要使用2003或者2007的不一樣選擇不一樣建立操做對象 spa

IWorkbook fileWorkbook;
            try
            {
                fileWorkbook = new XSSFWorkbook();
            }
            catch
            {
                fileWorkbook = new HSSFWorkbook();
            }

2.Excel的操做必需要創建在Sheet的基礎上 因此須要先創建一個Sheetcode

    ISheet sheet = fileWorkbook.CreateSheet("Sheet1") as ISheet;

3.根據須要 能夠設置列寬orm

    sheet.SetColumnWidth(0, 50 * 256);//設置寬度首列

其中 第一個參數爲列索引 第二個參數爲字符數   例子表明容許顯示50個字符  如100字符 則爲100* 256對象

4.建立行blog

IRow row = sheet.CreateRow(rowIndex);

注: 行寬度直接用row實例便可修改 如:row.Height=30 * 20;索引

5.建立單元格get

ICell cellTitle = row.CreateCell(0);
cellTitle.SetCellValue($"銷售彙總({StartDate}至{EndDate})");

注: string

  1.0爲列索引

  2.第二行爲賦值方式展現

6.設置居中

//設置單元格格式 居中
            ICellStyle cellstyle = fileWorkbook.CreateCellStyle();
            cellstyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellstyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellTitle.CellStyle = cellstyle;

直接賦值到所在單元格cellStyle屬性便可

7.合併單元格

sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 5));//合併單元格 0行0列到0行5列

參數從左到右分別爲 起始行號 結束行號 起始列號 結束列號

8.保存到文件

public string OutputClient(IWorkbook fileWorkbook)
        {
            //轉爲字節數組
            MemoryStream stream = new MemoryStream();
            fileWorkbook.Write(stream);
            var buf = stream.ToArray();
            var path = Path.Combine(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Export");
            string fileName = Path.Combine(path, $"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.xls");
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            //保存爲Excel文件
            using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
            {
                fs.Write(buf, 0, buf.Length);
                fs.Flush();
            }
            return fileName;
        }
保存文件方法

這裏提供一個通用的保存方法 保存到exe 文件目錄下的Export 文件夾 沒有改文件夾會自動建立 文件名爲日期到毫秒

相關文章
相關標籤/搜索