/// <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. 基于python3.6.6的scrapy环境部署+图像识别插件安装

    一.Python3.6.6安装1.安装依赖的二进制软件包yum -y install zlib zlib-devel bzip2 bzip2-devel ncurses ncurses-devel r ...

  2. FTP服务器文件上传的代码实现

    方式一: @Test public void testFtpClient() throws Exception { // 1.创建一个FtpClient对象 FTPClient ftpClient = ...

  3. ITL(Interested Transaction List)理解

    一.ITL描述: ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag,l ...

  4. python16_day21【git and celery】

    一.Git使用 ## GIT常用执令说明 * 初始化git项目 > git init * 查看当前目录状态 > git status * 把代码提交到stage区 > git add ...

  5. idea的junit测试出现Class not found: "com.chinaums.szm.test.RouteTransProxyClientTest" Empty test suite.

  6. centos7 离线安装docker-ce

    测试的时候,在VM中安装了一个minimal安装的centos7.因为发现在已经安装好环境的系统中,执行下面,并不会下载依赖的rpm.#下载docker-ce和其需要的依赖rpm yum instal ...

  7. XPath Checker 和 firebug 插件使用

    安装插件: 1.firebug 2.FirePath 3.xpath finder 4.XPath Checker XPath Checker 下载安装 https://addons.mozilla. ...

  8. 通过Java编码获取String分行字符串的内容

    代码案列: import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException ...

  9. 【c++ primer, 5e】【函数基础】

    p182~p185: 函数1.在调用函数和执行return语句的同时,也发生了控制权的转移. 2.函数返回值不能是一个数组.(但是可以返回一个包含数组的对象,或者指向数组的指针) 3.重要概念:名字的 ...

  10. 在python3下对数据分块(8x8大小)使用OpenCV的离散余弦变换DCT

    在MATLAB中有blkproc (blockproc)对数据处理, 在python下没找到对应的Function, 这里利用numpy 的split(hsplit和vsplit) 对数据分块处理成8 ...