前言,想利用C#将excel文件导入到winForm程序中来,通过各方面的尝试,终于找到一个比较简洁的方式,前来分享~

1.导入引用

2.导入命名空间

using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;

3.主要代码

在这里,我将excel表中第一列的数据,全部导入到textBox控件上,如果是想导入datagridview控件或者别的控件上,即更改方法的类型就ok。

private void button1_Click(object sender, EventArgs e){    openFileDialog1.ShowDialog();    TextBox tb = ExcelInput(openFileDialog1.FileName);    textBox1.Text = tb.Text.TrimStart(',').TrimEnd(',');}public static TextBox ExcelInput(string FilePath){        TextBox tb = new TextBox();    //根据路径通过已存在的excel来创建HSSFWorkbook,即整个excel文档    HSSFWorkbook workbook = new HSSFWorkbook(File.Open(FilePath, FileMode.Open));    //获取excel的第一个sheet    HSSFSheet sheet =(HSSFSheet)workbook.GetSheetAt(0);    //获取Excel的最大行数和列数    int rowsCount = sheet.PhysicalNumberOfRows;    int colsCount = sheet.GetRow(0).PhysicalNumberOfCells;    //第一行为标题行,即从第二行开始循环    for (int x = 1; x < rowsCount; x++)    {        //for (int y = 0; y < colsCount; y++) //输出的是所有列的数据        for (int y = 0; y < 1; y++) //在这里 只要第一列的数据        {            tb.Text += sheet.GetRow(x).GetCell(y).ToString() + ',';                           }                   }    sheet = null;    workbook = null;    return tb;}