zoukankan      html  css  js  c++  java
  • 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();
                    }
                }
            }
        }
    
    
    }
  • 相关阅读:
    SCP 命令
    Android 系统默认参数的修改
    java类加载时机与过程
    Git学习总结四(删除)
    Git学习总结三(工作区和暂存区、撤销修改)
    Git学习总结二(版本回退)(git resrt / git revert / git checkout)
    Git学习总结一(下载、初始化、添加文件)
    Mybatis逆向工程使用方法
    Mybatis与Spring整合方法
    Mybatis学习总结四(关联查询)
  • 原文地址:https://www.cnblogs.com/zhao123/p/11056808.html
Copyright © 2011-2022 走看看