Excel_To_DataTable
/// <summary>
/// Read data in excel file to datatable
/// </summary>
/// <param name="filename">Excel file name</param>
/// <param name="sheetNum">Which sheet to read</param>
/// <returns></returns>
public System.Data.DataTable GetExcelTable(string filename, int sheetNum)
{
Microsoft.Office.Interop.Excel.Application myExcel = new Microsoft.Office.Interop.Excel.Application();
object missing = Missing.Value;
Workbook myBook = myExcel.Application.Workbooks.Open(filename, missing, missing, missing,
missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing); //open excel file if (myBook != null)
{
myExcel.Visible = false; Worksheet mySheet = (Worksheet)myBook.Worksheets[sheetNum];
System.Data.DataTable dt = new System.Data.DataTable(); for (int j = ; j <= mySheet.Cells.CurrentRegion.Columns.Count; j++)
dt.Columns.Add(); for (int i = ; i <= mySheet.Cells.CurrentRegion.Rows.Count; i++)
{
DataRow myRow = dt.NewRow(); for (int j = ; j <= mySheet.Cells.CurrentRegion.Columns.Count; j++)
{
Microsoft.Office.Interop.Excel.Range temp = (Microsoft.Office.Interop.Excel.Range)mySheet.Cells[i, j];
string strValue = temp.Text.ToString();
myRow[j - ] = strValue;
}
dt.Rows.Add(myRow);
}
myExcel.Quit(); //Kill excel process
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName("EXCEL");
foreach (System.Diagnostics.Process instance in myProcesses)
{
instance.Kill();
} return dt;
} return null;
}
Excel_To_DataTable的更多相关文章
随机推荐
- RE合同记账会计凭证
*&---------------------------------------------------------------------* *& Title : 不动产转租合同自 ...
- webuploader 多图片上传
WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件. 具体接口参考 webuploader接口文档地址 一.图片上传功能 ...
- session、cookie、token
各自应用场景考虑session.token.cookie是不是有各自的应用场景,比如传统项目适合用session和cookie单页应用适合用token分布式适合用token等等 token如果非要选择 ...
- 开源一款android 偷拍 app【静拍】豌豆荚、flyme商店已经上线
首先先花3秒时间,预览下下app的大概是做啥的,解决啥痛点的:) app: 本地下载地址 需求点: 1:音量键可以拍照 2:没有快门声.闪光灯 3:锁屏下.或者是在其他程序界面都可以拍照 思路: 1: ...
- Linux下编程学习一
本篇主要记录一些在学习LINUX下编程时,, C和C++语言的一些基础的常识, 一. 函数指针 void MyFun(int x); 函数声明 void (*FunP)(int ); 函数指针声明 下 ...
- win7系统下查看端口的占用情况以及如何删除端口进程
经常在本地测试开发使用tomcat的时候容易报端口占用的情况,比如我要查看8080端口的使用情况 1.按如下操作,输入 cmd 回车 2.在doc窗口中输入命令 netstat -ano | f ...
- python-静态方法staticmethod、类方法classmethod、属性方法property
Python的方法主要有3个,即静态方法(staticmethod),类方法(classmethod)和实例方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def ...
- thinkerCMS是一款thinkphp写的微型cms框架可以参考下
http://www.thinkphp.cn/code/1764.html thinkphp官网thinkercms介绍 http://cms.thinke ...
- JS的checkbox状态切换dom无变化
今天调试checkbox,手动加上checked="checked"和去掉,都对实际页面没有产生影响 搜索一番 1.对radio .checkbox 来说说,checked属性可以 ...
- Caffe学习笔记(三):Caffe数据是如何输入和输出的?
Caffe学习笔记(三):Caffe数据是如何输入和输出的? Caffe中的数据流以Blobs进行传输,在<Caffe学习笔记(一):Caffe架构及其模型解析>中已经对Blobs进行了简 ...