0
点赞
收藏
分享

微信扫一扫

C#读取导入导出Excel表格里的数据并存到对象中

进击的铁雾 2022-02-14 阅读 54

使用Spire.XLS读取Excel,具体文档请访问:
Spire.XLS for .NET 中文教程官方网址

Excel表模板如下:
在这里插入图片描述

具体实现代码C#:

        private void Import(object obj)
        {
            System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog();
            openFileDialog.Multiselect = false;
            openFileDialog.Filter = "Excel文件|*.xls;*.xlsx";
            openFileDialog.Title = "选择Excel文件";
            if (openFileDialog.ShowDialog() != System.Windows.Forms.DialogResult.Cancel)
            {
                //获取用户选择的Excel文件路径
                string path = openFileDialog.FileName;
                Workbook workbook = new Workbook();
                //加载选择的文件
                workbook.LoadFromFile(@path, ExcelVersion.Version2013);
                Worksheet sheet = workbook.Worksheets[0];

                //设置range范围
                CellRange range = sheet.Range[sheet.FirstRow, sheet.FirstColumn, sheet.LastRow, sheet.LastColumn];

                //输出数据, 同时输出列名以及公式值
                DataTable dt = sheet.ExportDataTable(range, true, true);
                
                if (dt.Rows.Count <= 0)
                {
                    SystemService.MsgBoxService.ShowMsgBox("excel没有数据");
                    return;
                }
                
                var list = new List<Student>();
                foreach (DataRow row in dt.Rows)
                {
                    var studentXLS = new Student();
                    //Excel表中的每行的第一列数据
                    if (!row.ItemArray[0].ToString().Equals(""))
                    {
                        string i = (string)row.ItemArray[0];
                        studentXLS.Id = i;
                    }
                    //Excel表中的每行的第二列数据
                    if (!row.ItemArray[1].ToString().Equals(""))
                    {
                        string i = (string)row.ItemArray[1];
                        studentXLS.Name = i;
                    }
                    //有多少列,具体看导入的Excel表格式...本例中Excel表只有学生id和Name
                    list.add(studentXLS);
                }
                //最后全部的数据都存储在这里了,具体用途可以根据需求自己实现
                var studentList = list;
             }
       }
举报

相关推荐

0 条评论