NPOI 操作Excel


一、NPOI組件導入

右鍵項目菜單,“管理NuGet程序包”

直接搜索“NPOI”即會出現列表,下載第一個進行安裝即可

安裝完成后項目引用會出現以下幾項

二、基礎使用

添加引用

using NPOI.HPSF;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;

Excel操作開始

HSSFWorkbook hssfworkbook = new HSSFWorkbook();//先創建Workbook
ISheet sheet= hssfworkbook.CreateSheet("Sheet1");//創建sheet頁
IRow row1=sheet.CreateRow(0);//創建行
row1.CreateCell(0).SetCellValue("test");//創建單元格並設置值

文件導出

FileStream file = new FileStream(sFilePath, FileMode.Create);
hssfworkbook.Write(file);
file.Close();

測試代碼(以MVC實例):

        /// <summary>
        /// 讀取xls內容
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            string sFilePath = @"C:\text.xls";
            //根據路徑獲取讀取xls文件
            HSSFWorkbook wb = new HSSFWorkbook(new FileStream(sFilePath, FileMode.Open));
            //獲取sheet對象
            ISheet sheet1 = wb.GetSheet("Sheet1");
            //獲取行
            IRow row = sheet1.GetRow(1);
            //獲取單元格
            ICell cell = row.GetCell(0);
            ICell cell1 = row.GetCell(1);

            var cellValue = cell.ToString();
            return View();
        }

        /// <summary>
        /// NPIO導出excel
        /// </summary>
        /// <returns></returns>
        public FileResult DownFile()
        {
            string sFilePath = @"C:\text.xls";
            HSSFWorkbook hssfworkbook = new HSSFWorkbook();//先創建Workbook
            ISheet sheet = hssfworkbook.CreateSheet("Sheet1");//創建sheet頁
            IRow row1 = sheet.CreateRow(0);//創建行
            row1.CreateCell(0).SetCellValue("test");//創建單元格並設置值

            //設置列寬(字符寬度)
            sheet.SetColumnWidth(0, 10 * 256);//第一列,10個字符寬度
            //設置行高
            row1.HeightInPoints = 40;//高度(像素)
            //設置網格的默認行高和列框
            sheet.DefaultColumnWidth = 100 * 256;
            sheet.DefaultRowHeightInPoints = 30;

            //設置單元格樣式 
            //樣式創建
            ICellStyle style = hssfworkbook.CreateCellStyle();
            style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//文字橫向居中
            style.VerticalAlignment = VerticalAlignment.Center;//文字縱向居中
            IFont font = hssfworkbook.CreateFont();//字體
            font.FontHeight = 20 * 20;
            style.SetFont(font);

            ICell cell = row1.Cells[0];//獲取單元格對象
            cell.CellStyle = style;//綁定樣式

            //單元格合並
            sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, 0, 8));//合拼了A1到I1

            //設置文件的詳細信息
            DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();
            dsi.Company = "公司名稱";//公司
            SummaryInformation si = PropertySetFactory.CreateSummaryInformation();
            si.Subject = "主題";//主題
            hssfworkbook.DocumentSummaryInformation = dsi;
            hssfworkbook.SummaryInformation = si;

            FileStream file = new FileStream(sFilePath, FileMode.Create);
            hssfworkbook.Write(file);
            file.Close();
            return File(sFilePath, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "text.xls");
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM