zoukankan      html  css  js  c++  java
  • NPOI操作

    C#操作Excel,如果格式是xlsx的就用openXML来操作,如果是xls的就用NPOI来操作

    应该讲第三方组件,单独存在一个lib文件夹中,然后添加引用,这样组件就能随着项目走

    xlsx实际上是一个压缩文件

    using System;
    using System.Windows.Forms;
    using System.IO;
    using NPOI.HSSF.UserModel;


    namespace NPOI测试
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 读取EXCEL
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                using (FileStream stream = new FileStream(@"F:\username.xls", FileMode.Open, FileAccess.Read))
                {
                    HSSFWorkbook workbook = new HSSFWorkbook(stream);
                    MessageBox.Show(workbook.GetSheetName(0),"获取的Sheet名");  //获取sheet名
                    HSSFSheet sheet= workbook.GetSheetAt(0); //获得第一页的sheet表
                    HSSFRow row=sheet.GetRow(0);  //获得第一行
                    HSSFCell cell=row.GetCell(0);  //获得第一列
                    string s=cell.ToString();   //输出显示[0][0]单元的内容
                    MessageBox.Show(s,"获取Excel中[0][0]单元的内容");
                    //MessageBox.Show(cell.StringCellValue);//输出显示字符串单元格的内容

                     MessageBox.Show(sheet.LastRowNum.ToString(),"Excel中最后一行的行号");//获取最后总共有多少行

                     MessageBox.Show(row.LastCellNum.ToString(), "Excel中最后一列的行号");//获取当前行总共有多少列
                }
            }


            /// <summary>
            /// 写入Excel
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button2_Click(object sender, EventArgs e)
            {
                HSSFWorkbook workbook = new HSSFWorkbook();
                HSSFSheet sheet = workbook.CreateSheet();
                HSSFRow row = sheet.CreateRow(0);//创建第一行
                row.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue("Hello");//在第一行第一格写上“Hello”
                row.CreateCell(1, HSSFCell.CELL_TYPE_NUMERIC).SetCellValue(3.14);//写上浮点型的数字
                using (FileStream stream = new FileStream(@"f:\1.xls", FileMode.OpenOrCreate, FileAccess.ReadWrite))
                {
                    workbook.Write(stream);
                }
                MessageBox.Show("创建成功");
               }   

          }
    }

    感谢来访,共同学习!
  • 相关阅读:
    Hack The Box——Monteverde
    【LeetCode】173.二叉搜索树迭代器(Java实现,两种方法)
    【LeetCode】98. 验证二叉搜索树(递归+中序遍历,Java实现,上下界详细图解)
    ERP-非财务人员的财务培训教(五)------资本结构筹划
    ERP-非财务人员的财务培训教(四)------公司/部门的成本与费用控制
    ERP-非财务人员的财务培训教(三)------公司/部门预算编制与评价
    ERP-非财务人员的财务培训教(二)------如何评价公司/部门经营业绩
    ERP-非财务人员的财务培训教(一.二)------财务基础知识
    ERP-非财务人员的财务培训教(一.一)------基本会计知识
    Oracle E-Business Suite Maintenance Guide Release 12.2(Patching Procedures)
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3058824.html
Copyright © 2011-2022 走看看