导入excle数据
导入excle数据
1.if (File.Exists(strFileName)) // 当文件存在时
             {
                 m_fileName = strFileName;
             }
             else
             {
                 throw new Exception(string.Format("文件:[{0}] 不存在!", m_fileName));
             }
             this.gridView.DataSource = ExcelToDataTable(m_fileName, "Sheet1");
2.
/// <summary>
         /// 将Excel导入DataTable中(Excel第一行为DataTable列名)
         /// </summary>
         /// <param name="filePath"></param>
         /// <param name="sheetName"></param>
         /// <returns></returns>
         private System.Data.DataTable ExcelToDataTable(string filePath, string sheetName)
         {
             ApplicationClass app = new ApplicationClass();
             app.Visible = false;
//打开Excel
             WorkbookClass w = (WorkbookClass)app.Workbooks.Open(filePath, Missing.Value, Missing.Value, Missing.Value,
                 Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                 Missing.Value, Missing.Value, Missing.Value, Missing.Value);
object missing = Type.Missing;
             Sheets sheets = w.Worksheets;
             m_dataTable = new System.Data.DataTable();
foreach (Worksheet sheet in sheets)
             {
                 if (sheet.Name != sheetName)
                 {
                     //构建DataTable结构
                     for (int j = 1; j <= sheet.Cells.CurrentRegion.Columns.Count; j++)
                     {
                         //Excel第一行数据为DataTable列名
                         Microsoft.Office.Interop.Excel.Range tem = (Microsoft.Office.Interop.Excel.Range)sheet.Cells[1, j];
                         m_dataTable.Columns.Add(tem.Text.ToString());
                     }
                     //Excel数据加载到DataTable
                     for (int i = 2; i <= sheet.Cells.CurrentRegion.Rows.Count; i++)
                     {
                         DataRow row = m_dataTable.NewRow();
                         for (int j = 1; j <= sheet.Cells.CurrentRegion.Columns.Count; j++)
                         {
                             Microsoft.Office.Interop.Excel.Range tem = (Microsoft.Office.Interop.Excel.Range)sheet.Cells[i, j];
                             row[j - 1] = tem.Text.ToString();
                         }
                         m_dataTable.Rows.Add(row);
                     }
                     break;
                 }
             }
             app.Quit();
             app = null;
return m_dataTable;
         }
导入excle数据的更多相关文章
- 导入excle数据将excle数据插入到数据库
		
实现功能是,用户可以直接导入对应数据,或者用户下载模板,填写数据,导入模板数据.easyui实现 前台页面 { text : '日清导入', iconCls : 'icon-print', handl ...
 - python小脚本(18-11.10)-修改excle后批量生成,作用:导入数据时,系统做了不能导入重复数据时的限制时使用 -本来是小白,大神勿扰
		
from testcase.test_mokuai.operation_excle import OperationExcleimport shutil class test_daoru(): #一个 ...
 - (转)PLSQL Developer导入Excel数据
		
场景:近来在做加班记录的统计,主要是统计Excel表格中的时间,因为我对于Excel表格的操作不是很熟悉,所以就想到把表格中的数据导入到数据库中,通过脚本语言来统计,就很方便了!但是目前来看,我还没有 ...
 - 基于 Aspose.Cells与XML导入excel 数据----操作类封装
		
前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...
 - C#导入Excel数据常见问题
		
今天在做一个excle数据导入的时候遇到了一个奇葩问题,项目使用的是MVC,在VS2010里面调试的时候没有问题,可是当发布到本地IIS或服务器上时就出现了问题: 1.excel文件正在被使用: 2. ...
 - CRL快速开发框架系列教程九(导入/导出数据)
		
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
 - BCP导出导入大容量数据实践
		
前言 SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件.各有优缺点,以适用不同的需求.下面介绍大 ...
 - SQL Server服务器上需要导入Excel数据的必要条件
		
SQL Server服务器上需要导入Excel数据,必须安装2007 Office system 驱动程序:数据连接组件,或者Access2010的数据库引擎可再发行程序包,这样就不必在服务器上装Ex ...
 - PLSQL Developer导入Excel数据
		
LSQL Developer导入Excel数据 最近处理将Excel数据导入Oracle的工作比较多.之前都是采用Sqlldr命令行导入的方式处理.每次导入不同格式的Excel表数据,都需要先把Exc ...
 
随机推荐
- hdoj 4324 Triangle LOVE 【拓扑】
			
Triangle LOVE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) To ...
 - C语言利用va_list、va_start、va_end、va_arg宏定义可变參数的函数
			
在定义可变參数的函数之前,先来理解一下函数參数的传递原理: 1.函数參数是以栈这样的数据结构来存取的,在函数參数列表中,从右至左依次入栈. 2.參数的内存存放格式:參数的内存地址存放在内存的堆栈段中, ...
 - 关于SQL Server 2005 的自动远程数据库备份
			
原文:(原创)关于SQL Server 2005 的自动远程数据库备份 由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的一些帮助,结合自己的实际需要,写了这篇文章,希望对有同样需 ...
 - linux内核的冒险md来源释义# 14raid5非条块读
			
linux内核的冒险md来源释义# 14raid5非条块读 转载请注明出处:http://blog.csdn.net/liumangxiong 假设是非条块内读.那么就至少涉及到两个条块的读,这就须要 ...
 - intellij idea 13&14 插件推荐及快速上手建议 (已更新!)
			
原文:intellij idea 13&14 插件推荐及快速上手建议 (已更新!) 早些年 在外企的时候,公司用的是intellij idea ,当时也是从eclipse.MyEclipse转 ...
 - PHP jpgraph的一点小提示(附安装方法)
			
PHP中的GD库本身是一套很强大的绘图库了,绘制的图像基本可以满足日常要求,但强大规强大,还是不够方便哈,因为强大方便的基于PHP的GD库的jpgraph也就诞生啦! PHP默认是不启用GD库的,因为 ...
 - 【剑指offer】Q32:从1至n整1出现的次数(python)
			
def q32(n, len): if n < 0: return 0 elif n <= 1: return n total = 0 while n > 0: if n >= ...
 - tornado settings想到的
			
今天有足够多的时间来看看Tornado中RequestHandler和Application这两个类的关系. 昨天想要调用settings中的内容,找了好半天不知道怎么在handler中使用setti ...
 - List<string>和string[]
			
List<string>和string[] List<string>是集合:string[]是数组: ///////////////////////////////////// ...
 - LINUX下getsockopt和setsockopt函数
			
这两个函数仅用于套接字. 函数原型: #include <sys/socket.h> #include <sys/types.h> int getsockopt(int soc ...