C#路径选择及Excel读写操作

来源:互联网 发布:知乎,京九高铁 编辑:程序博客网 时间:2024/06/05 23:47

C#路径选择及Excel读写操作

最近由于工作需要接触了一下C#对于Excel的操作,来记录一下代码,如有更好的方式希望能够交流一下!

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.IO;using System.Reflection;using NPOI.SS.UserModel;using NPOI.HSSF.UserModel;using NPOI.XSSF.UserModel; namespace AutoData{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        public string path = string.Empty;        public string readstr1 = string.Empty;        public string readstr2 = string.Empty;        public string readstr3 = string.Empty;        public string fileName = string.Empty;        private string read_excel(int readsheet,int x,int y)        {            IWorkbook workbook = null;  //新建IWorkbook对象            fileName = @path + "/123.xlsx";            FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);            if (fileName.IndexOf(".xlsx") > 0) // 2007版本              {                workbook = new XSSFWorkbook(fileStream);  //xlsx数据读入workbook              }            else if (fileName.IndexOf(".xls") > 0) // 2003版本              {                workbook = new HSSFWorkbook(fileStream);  //xls数据读入workbook              }            fileStream.Close(); //关闭文件流             ISheet sheet = workbook.GetSheetAt(readsheet-1);  //获取第一个工作表              workbook.Close();            IRow row;            row = sheet.GetRow(x-1);            //int rowcount = sheet.LastRowNum;            string cellValue = row.GetCell(y-1).ToString();            Console.WriteLine(cellValue);            return cellValue;             }        private bool write_excle(int readsheet,int x,int y,string value)        {            //IWorkbook workbook = null;  //新建IWorkbook对象           // fileName = @path + "/123.xlsx";            //FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);            //if (fileName.IndexOf(".xlsx") > 0) // 2007版本              //{            //    workbook = new XSSFWorkbook(fileStream);  //xlsx数据读入workbook              //}            //else if (fileName.IndexOf(".xls") > 0) // 2003版本              //{            //    workbook = new HSSFWorkbook(fileStream);  //xls数据读入workbook              //}            //ISheet sheet = workbook.GetSheetAt(readsheet - 1);  //获取第一个工作表              //ICell cell = sheet.GetRow(x - 1).GetCell(y - 1);            //cell.SetCellValue(value);            //workbook.Write(fileStream);            //Console.WriteLine("写入成功!");            //fileStream.Close();   //关闭文件流            //workbook.Close();            IWorkbook workbook = new XSSFWorkbook();            workbook.CreateSheet("sheet1");//创建sheet            fileName = @path + "/123.xlsx";            FileStream fs = File.Create(fileName);//path=mmm.xls;            ISheet sheet = workbook.GetSheetAt(readsheet-1);//获取sheet            sheet.CreateRow(5).CreateCell(4).SetCellValue(value);            workbook.Write(fs);            return true;        }        private void button1_Click(object sender, EventArgs e)        {            System.Windows.Forms.FolderBrowserDialog fbd = new System.Windows.Forms.FolderBrowserDialog();            if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)            {                path = fbd.SelectedPath;            }            textBox1.Text = path;        }        private void button2_Click(object sender, EventArgs e)        {            bool ret = false;            readstr1 = read_excel(1,3,3);          //  textBox1.Text = readstr1;            ret = write_excle(1, 4, 3, readstr1);            if (ret)            {                textBox1.Text = "OK";            }                  }    }}


原创粉丝点击