博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NPOI操作
阅读量:5150 次
发布时间:2019-06-13

本文共 1771 字,大约阅读时间需要 5 分钟。

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("创建成功");
           }   

      }

}

转载于:https://www.cnblogs.com/dingxiaowei/archive/2013/02/05/3058824.html

你可能感兴趣的文章
Android记事本06
查看>>
PHP函数-FTP文件传输函数
查看>>
http request method and response codes
查看>>
【资源】NOIP2013测试数据senior/junior 普及/提高 数据
查看>>
toString和valueOf的区别
查看>>
C#操作Excel(创建、打开、读写、保存)几种方法的总结
查看>>
校门外的树2 contest 树状数组练习 T4
查看>>
JS及JQ使用JSONP实现跨域调用必应搜索
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>
三次数模总结一下
查看>>
Py之np.concatenate函数【转载】
查看>>
【NOIP模拟】matrix(简化矩阵)
查看>>
e.preventDefault()和e.stopPropagation()以及return false的作用和区别
查看>>
洛谷 1571 眼红的Medusa
查看>>
[HEOI2016/TJOI2016]树
查看>>
(转载)PHP中设置时区方法小结
查看>>
树莓派笔记——系统烧录和初始配置
查看>>
过滤器入门
查看>>
spring--百度百科
查看>>