/// <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的更多相关文章

随机推荐

  1. RE合同记账会计凭证

    *&---------------------------------------------------------------------* *& Title : 不动产转租合同自 ...

  2. webuploader 多图片上传

    WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件. 具体接口参考 webuploader接口文档地址 一.图片上传功能 ...

  3. session、cookie、token

    各自应用场景考虑session.token.cookie是不是有各自的应用场景,比如传统项目适合用session和cookie单页应用适合用token分布式适合用token等等 token如果非要选择 ...

  4. 开源一款android 偷拍 app【静拍】豌豆荚、flyme商店已经上线

    首先先花3秒时间,预览下下app的大概是做啥的,解决啥痛点的:) app: 本地下载地址 需求点: 1:音量键可以拍照 2:没有快门声.闪光灯 3:锁屏下.或者是在其他程序界面都可以拍照 思路: 1: ...

  5. Linux下编程学习一

    本篇主要记录一些在学习LINUX下编程时,, C和C++语言的一些基础的常识, 一. 函数指针 void MyFun(int x); 函数声明 void (*FunP)(int ); 函数指针声明 下 ...

  6. win7系统下查看端口的占用情况以及如何删除端口进程

    经常在本地测试开发使用tomcat的时候容易报端口占用的情况,比如我要查看8080端口的使用情况 1.按如下操作,输入 cmd 回车 2.在doc窗口中输入命令    netstat -ano | f ...

  7. 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  ...

  8. thinkerCMS是一款thinkphp写的微型cms框架可以参考下

    http://www.thinkphp.cn/code/1764.html                       thinkphp官网thinkercms介绍 http://cms.thinke ...

  9. JS的checkbox状态切换dom无变化

    今天调试checkbox,手动加上checked="checked"和去掉,都对实际页面没有产生影响 搜索一番 1.对radio .checkbox 来说说,checked属性可以 ...

  10. Caffe学习笔记(三):Caffe数据是如何输入和输出的?

    Caffe学习笔记(三):Caffe数据是如何输入和输出的? Caffe中的数据流以Blobs进行传输,在<Caffe学习笔记(一):Caffe架构及其模型解析>中已经对Blobs进行了简 ...