• Excel的创建和读取NPOI


    项目中经常用到需要操作Excel文件,例如:导出数据库中的数据,读取数据等。但是电脑又没有安装office,不能直接调用微软的库,最后经过查找,找到这样的一个不用安装office的库。一个.NET库,可以读取/写入没有安装Microsoft Office的Office格式。没有COM +,没有互操作。

    public class ExcelNpoiTest
    {
        /// <summary>
        /// NPOI基础的Excel创建
        /// </summary>
        public static void CreateExcel()
        {
            //创建工作薄
            HSSFWorkbook wk = new HSSFWorkbook();
            //创建一个名称为mySheet的表
            ISheet tb = wk.CreateSheet("mySheet");
            for (int i = 0; i < 20; i++)
            {
                //创建行
                IRow row = tb.CreateRow(i);
                for (int j = 0; j < 20; j++)
                {
                    //创建列
                    ICell cell = row.CreateCell(j);
                    //赋值
                    cell.SetCellValue($"[{i},{j}]");
                }
            }
            //打开一个现有文件或创建一个新文件以进行写入。
            using (FileStream fs = File.OpenWrite(@"D:myxls.xls"))
            {
                //向打开的这个xls文件中写入mySheet表并保存。
                wk.Write(fs);
            }
        }
    
        /// <summary>
        /// NPOI基础的Excel读取
        /// </summary>
        public static void ReadExcel()
        {
            //打开现有文件以进行读取。
            using (FileStream fs = File.OpenRead(@"D:myxls.xls"))
            {
                //把文件写入wk中
                HSSFWorkbook wk = new HSSFWorkbook(fs);
                for (int i = 0; i < wk.NumberOfSheets; i++)
                {
                    //获取sheet
                    ISheet sheet = wk.GetSheetAt(i);
                    for (int j = 0; j < sheet.LastRowNum; j++)
                    {
                        //获取行
                        IRow row = sheet.GetRow(j);
                        if (row != null)
                        {
                            for (int k = 0; k < row.LastCellNum; k++)
                            {
                                //获取列
                                ICell cell = row.GetCell(k);
                                if (cell != null)
                                {
                                    //获取值
                                    Console.Write(cell.ToString());
                                }
                            }
                        }
                        Console.WriteLine();
                    }
                }
            }
        }
    
    
    }
  • 相关阅读:
    Python图形图像处理库的介绍之Image模块
    python re.sub
    eclipse 安装git插件
    一组神奇的 3D Gif 动图
    互联网颠覆房地产
    一位IT行业高收入者的理财规划方案
    阿里核心系统团队介绍
    大规模SNS中兴趣圈子的自动挖掘
    关于 MySQL LEFT JOIN 你可能需要了解的三点
    Could not connect to SMTP host: localhost, port: 25;
  • 原文地址:https://www.cnblogs.com/zhao123/p/11056808.html
Copyright © 2020-2023  润新知