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();
                    }
                }
            }
        }
    
    
    }
  • 相关阅读:
    Which is best in Python: urllib2, PycURL or mechanize?
    Ruby开源项目介绍(1):octopress——像黑客一样写博客
    Truncated incorrect DOUBLE value解决办法
    Qt Quarterly
    Rich Client Platform教程
    iOS6 中如何获得通讯录访问权限
    省赛热身赛之Javabeans
    [置顶] [开心学php100天]第三天:不羁的PHP文件操作
    hdu2033 人见人爱A+B
    [置顶] AAM算法简介
  • 原文地址:https://www.cnblogs.com/zhao123/p/11056808.html
Copyright © 2011-2022 走看看