如何批量从Excel文件中导入数据到数据库(二)

设计系统不单单要考虑到录入界面,对哪些用户已经保存的数据文件(基本上都是Excel文件)难道需要用户再次将已有的数据进行录入吗?答案肯定是:No,一个好的设计和编码人员再设计系统和编码时,更多的需要考虑到界面友好,用户操作简单和设计合理,能更多的从用户的角度来分析设计系统。

下面来说说实际工作中遇到了一些问题,我们需要做如何的处理呢?

在前一篇文档中http://www.cnblogs.com/happyfish78/p/3313662.html已经为大家介绍了如何批量导入文档中内容,今天我们介绍下更为简单更通用的方法:

1.将指定文档中内容读取到DataTable对象中。

在用Acey.ExcelX组件前,需要加入Acey.ExcelX组件引用,加到命名空间中。

using Acey.ExcelX;

        /// <summary>
        /// 将指定文档中的内容导出到DataTable对象中。
        /// </summary>
        /// <param name="fileName">指定的excel文档</param>
        /// <returns>返回DataTable对象。</returns>
        public static DataTable GetDataTableFromExcel(string fileName)
        {
            //创建Workbook对象通过打开指定的Excel文档。
            IWorkbook workbook = ExcelxApplication.Open(fileName);
            //获取以0为基数的Worksheet对象。
            IWorksheet worksheet = workbook.Worksheets[0];
            //获取工作表中最大数据行。
            int maxRow = worksheet.MaxDataRow;
            //获取工作表中最大数据列。
            int maxCol = worksheet.MaxDataColumn;
            //创建指定区域的对象。
            IRange range = worksheet.Cells.CreateRange(0, 0, maxRow, maxCol);
            //将该区域对象的数据导出到DataTable对象中。
            DataTable table = range.ExportDataTable();
            //返回该DataTable对象。
            return table;
        }

该方法不涉及到任何对象,该方法对所有将指定文档内容导出都通用。
2.将DataTable对象信息插入到数据库中

在这里我们就不做详细介绍了。

总结:使用该文档中介绍的方法比http://www.cnblogs.com/happyfish78/p/3313662.html更为简单和通用,设计人员和编程人员可以对这样的通用方法进行封装,

用到需要的每个项目中,这样做不仅仅解决少写代码的工作,也节省单元测试这些方法的时间。

Acey.ExcelX专注于为客户提供更多、更好的解决方案。

更多信息请访问Aceyoffice网站:http://www.aceyoffice.com/

原文地址:https://www.cnblogs.com/happyfish78/p/3314003.html