zoukankan      html  css  js  c++  java
  • 如何批量从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/

  • 相关阅读:
    GIT操作命令
    flask中logger日志的使用
    Flask项目总结学习
    kubernetes容器网络
    Chrome浏览器离线安装包下载
    《Linux防火墙配置》
    Redhat7.4配置本地yum源
    zabbix5利用python脚本发报警邮件和趋势图
    screen命令
    MX记录
  • 原文地址:https://www.cnblogs.com/happyfish78/p/3314003.html
Copyright © 2011-2022 走看看