NPOI操作

简介: C#操作Excel,如果格式是xlsx的就用openXML来操作,如果是xls的就用NPOI来操作 应该讲第三方组件,单独存在一个lib文件夹中,然后添加引用,这样组件就能随着项目走 xlsx实际上是一个压缩文件 using System; using System.

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

      }
}

相关文章
|
分布式计算 大数据 数据处理
别说你会用Pandas
别说你会用Pandas
77 0
解决pyautogui的locateOnScreen(‘图片文件‘)一直返回none的问题
解决pyautogui的locateOnScreen(‘图片文件‘)一直返回none的问题
660 0
Window 命令行查看 EXE或者DLL的依赖库
Window 命令行查看 EXE或者DLL的依赖库
1273 0
|
异构计算
解决 RuntimeError: Tensor for 'out' is on CPU, Tensor for argument #1 'self' is on CPU, but expected them to be on GPU (while checking arguments for addmm)
程序报错:RuntimeError: Tensor for 'out' is on CPU, Tensor for argument #1 'self' is on CPU, but expected them to be on GPU (while checking arguments for addmm) 这个错误提示表明你使用了一个在CPU上的张量与一个在GPU上的张量进行了操作,导致了数据类型不匹配的错误。一种解决方法是将所有的张量都放到同一个设备上进行计算,可以使用 to() 方法来实现:
1257 0
|
开发工具
hexo修改默认端口
hexo修改默认端口
298 0
C# 去掉List重复元素的方法
因为用到list,要去除重复数据,尝试了几种方法。记录于此。。。 测试数据:        List li1 = new List { "8", "8", "9", "9" ,"0","9"}; List li2 = new List { "张三", "张三", "李四"...
4624 0
|
C# .NET 开发框架
【C#】list 去重
原文:【C#】list 去重   Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组、集合中的重复元素,还可以自定义去重的规则。
5670 0