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

      }
}

时间: 2024-11-03 22:56:31

NPOI操作的相关文章

C#中npoi操作Excel[版本2.0.1读写2003、2007格式]

下载npoi2.0.1dll文件:http://download.csdn.net/detail/pukuimin1226/5851747 百度云盘下载链接: http://pan.baidu.com/s/1jGr9RO6        public static void test1()        {            NpoiHelper np = new NpoiHelper();            DataTable dt1 = np.ReadExcel(AppDomain.

C#通过NPOI操作Excel,如何获取带格式单元格的显示字符串

问题描述 例如某个单元格给定了一个"000"的格式,单元格的值设置为1的时候,显示为"001",如何能直接得到显示的这个"001"字符串呢?NPOI中有没有对应的方法? 解决方案

详解免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)_实用技巧

很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel报表,并且在后台调用Microsoft Excel ActiveX更有效率;从Office文档中提取文本,以帮助您实现全文索引功能(大多数时候,此功能用于创建搜索引擎): 从Office文档提取图像: 生成包含公式的Excel工作表.  一.NPOI组件概述: NPOI是完全免费使用: 涵盖Exce

c#操作excel,怎么往单元格中写数据?

问题描述 c#操作excel,怎么往单元格中写数据? //往指定单元格中填数据 sheet.Cells[1, 1]= num; 我用这种方式往excel中写数据为什么一直都不行? 求大神指点正确方法··· 解决方案 sheet.Cells[1, 1]得到的是Cell类型的对象,不是里面的值,要知道,一个单元格除了值,还有颜色 字体 格式 公式 等等很多属性呢 sheet.Cells[1, 1].SetCellValue(num) 注意格式和类型 解决方案二: http://www.cnblogs

FTP操作(FTPClient)

//FTP开源封装的类 using System; using System.Collections.Generic; using System.Net; using System.IO; namespace FTP {     /// <summary>     /// FTP客户端操作类     /// </summary>     public class FtpClient     {         #region 构造函数         /// <summary

虚心请教通过NPOI读取excel文件方面的问题。

问题描述 .net只是自学了些皮毛,最近工作需要,要求做一个上传excel文件并导入数据库的功能.百度了下,都推荐使用NPOI操作excel导入.导出.百度了下npoi,感觉好像是读取服务器端指定路径的excel文件到datatable中然后再进一步处理.技术能力有限,有很多问题都不懂,虚心求教!1.客户端是不是先要通过fileupload控件先将excel文件上传到服务器端的指定路径后,然后在按钮控件中写npoi代码读取上传的文件到datatable中?如果是这样的话,那时间长了岂不是服务器端

C# 操作Excel 请高手赐教,谢谢!

问题描述 错误提示:无法将类型为"Microsoft.Office.Interop.Excel.ApplicationClass"的COM对象强制转换为接口类型"Microsoft.Office.Interop.Excel._Application".此操作失败的原因是对IID为"{000208D5-0000-0000-C000-000000000046}"的接口的COM组件调用QueryInterface因以下错误而失败:加载类型库/DLL时出

OpenXML 替换word模板中的标签

最近的项目(MOSS项目)需要,用户需要根据word模板生成相关的word文档,具体需求是根据infopath 表单中的内容和相关的模板生成一份word文档 着手做之前想想要是用word api操作的话,后台进程,多用户并发操作等等问题 看来还是用openxml来操作比较好,于是找了找资料,实现了这小小的功能 现在把代码贴出来跟大家分享下 使用openxml技术时,首先需要引用windowsbase.dll 部分常量 const string documentRelationshipType =

导出 word模板-做一个题库管理系统,怎么将存储在数据库中的试卷内容导出到word模板中呢

问题描述 做一个题库管理系统,怎么将存储在数据库中的试卷内容导出到word模板中呢 C#2008,access2003,做一个题库管理系统,怎么将存储在数据库中的试卷内容导出到word模板中呢,求助各位大神,求代码 解决方案 用npoi操作数据库http://my.oschina.net/yangxiaoguang/blog/264948 解决方案二: 用npoi操作word文档http://my.oschina.net/yangxiaoguang/blog/264948 解决方案三: http