最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net 讀取Excel數(shù)據(jù)到DataTable的代碼

 更新時間:2010年03月16日 19:48:40   作者:  
asp.net 讀取Excel數(shù)據(jù)到DataTable的代碼,需要的朋友可以參考下。
復制代碼 代碼如下:

/// <summary>
/// 獲取指定路徑、指定工作簿名稱的Excel數(shù)據(jù):取第一個sheet的數(shù)據(jù)
/// </summary>
/// <param name="FilePath">文件存儲路徑</param>
/// <param name="WorkSheetName">工作簿名稱</param>
/// <returns>如果爭取找到了數(shù)據(jù)會返回一個完整的Table,否則返回異常</returns>
public DataTable GetExcelData(string astrFileName)
{
string strSheetName = GetExcelWorkSheets(astrFileName)[0].ToString();
return GetExcelData(astrFileName, strSheetName);
}


代碼
復制代碼 代碼如下:

/// <summary>
/// 返回指定文件所包含的工作簿列表;如果有WorkSheet,就返回以工作簿名字命名的ArrayList,否則返回空
/// </summary>
/// <param name="strFilePath">要獲取的Excel</param>
/// <returns>如果有WorkSheet,就返回以工作簿名字命名的ArrayList,否則返回空</returns>
public ArrayList GetExcelWorkSheets(string strFilePath)
{
ArrayList alTables = new ArrayList();
OleDbConnection odn = new OleDbConnection(GetExcelConnection(strFilePath));
odn.Open();
DataTable dt = new DataTable();
dt = odn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (dt == null)
{
throw new Exception("無法獲取指定Excel的架構。");
}
foreach (DataRow dr in dt.Rows)
{
string tempName = dr["Table_Name"].ToString();
int iDolarIndex = tempName.IndexOf('$');
if (iDolarIndex > 0)
{
tempName = tempName.Substring(0, iDolarIndex);
}
//修正了Excel2003中某些工作薄名稱為漢字的表無法正確識別的BUG。
if (tempName[0] == '\'')
{
if (tempName[tempName.Length - 1] == '\'')
{
tempName = tempName.Substring(1, tempName.Length - 2);
}
else
{
tempName = tempName.Substring(1, tempName.Length - 1);
}
}
if (!alTables.Contains(tempName))
{
alTables.Add(tempName);
}
}
odn.Close();
if (alTables.Count == 0)
{
return null;
}
return alTables;
}

代碼
復制代碼 代碼如下:

/// <summary>
/// 獲取指定路徑、指定工作簿名稱的Excel數(shù)據(jù)
/// </summary>
/// <param name="FilePath">文件存儲路徑</param>
/// <param name="WorkSheetName">工作簿名稱</param>
/// <returns>如果爭取找到了數(shù)據(jù)會返回一個完整的Table,否則返回異常</returns>
public DataTable GetExcelData(string FilePath, string WorkSheetName)
{
DataTable dtExcel = new DataTable();
OleDbConnection con = new OleDbConnection(GetExcelConnection(FilePath));
OleDbDataAdapter adapter = new OleDbDataAdapter("Select * from [" + WorkSheetName + "$]", con);
//讀取
con.Open();
adapter.FillSchema(dtExcel, SchemaType.Mapped);
adapter.Fill(dtExcel);
con.Close();
dtExcel.TableName = WorkSheetName;
//返回
return dtExcel;
}

代碼
復制代碼 代碼如下:

/// <summary>
/// 獲取鏈接字符串
/// </summary>
/// <param name="strFilePath"></param>
/// <returns></returns>
public string GetExcelConnection(string strFilePath)
{
if (!File.Exists(strFilePath))
{
throw new Exception("指定的Excel文件不存在!");
}
return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFilePath + ";Extended properties=\"Excel 8.0;Imex=1;HDR=Yes;\"";
//@"Provider=Microsoft.Jet.OLEDB.4.0;" +
//@"Data Source=" + strFilePath + ";" +
//@"Extended Properties=" + Convert.ToChar(34).ToString() +
//@"Excel 8.0;" + "Imex=1;HDR=Yes;" + Convert.ToChar(34).ToString();
}

相關文章

  • .net socket客戶端實例代碼分享

    .net socket客戶端實例代碼分享

    這篇文章主要介紹了.net寫的socket客戶端,下面有使用方法,大家參考使用吧
    2013-12-12
  • .NET使用js制作百度搜索下拉提示效果(不是局部刷新)實現(xiàn)思路

    .NET使用js制作百度搜索下拉提示效果(不是局部刷新)實現(xiàn)思路

    搞了個不是局部刷新的百度搜索框下拉提示效果大致思路:前臺放一個input標簽,然后當該標簽內的值輸入有變化的時候,調用后臺代碼查詢 符合條件的數(shù)據(jù)綁定ListBox,感興趣的朋友可以了解下
    2013-01-01
  • asp.net Google的translate工具翻譯 API

    asp.net Google的translate工具翻譯 API

    很久前的一天,我想使用這個東西,然后看了下,GooGle的Translate工具目前沒有公開API,還是一個逐漸完善的過程,另一方面,利用一段很小的程序就可以得到我們想要的效果。
    2008-12-12
  • ASP.NET Core中的響應壓縮的實現(xiàn)

    ASP.NET Core中的響應壓縮的實現(xiàn)

    這篇文章主要介紹了ASP.NET Core中的響應壓縮的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • C# 進制轉換的實現(xiàn)(二進制、十六進制、十進制互轉)

    C# 進制轉換的實現(xiàn)(二進制、十六進制、十進制互轉)

    這篇文章主要介紹了C# 進制轉換的實現(xiàn)(二進制、十六進制、十進制互轉),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • .net6環(huán)境下使用RestSharp請求GBK編碼網(wǎng)頁亂碼的解決方案

    .net6環(huán)境下使用RestSharp請求GBK編碼網(wǎng)頁亂碼的解決方案

    這篇文章介紹了.net6環(huán)境下使用RestSharp請求GBK編碼網(wǎng)頁亂碼的解決方案,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • asp.net FCKeditor自定義非空驗證

    asp.net FCKeditor自定義非空驗證

    有時在使用FCK的,需要對它做非空的驗證。以前一直是使用RequiredFieldValidator控件來完成的。但是會有一個小小的bug,在提交的時候第一次不能通過驗證。
    2009-12-12
  • MVC頁面之間參數(shù)傳遞解析

    MVC頁面之間參數(shù)傳遞解析

    這篇文章主要為大家詳細介紹了MVC頁面之間參數(shù)傳遞方法,分享了MVC頁面之間傳值的兩種方式,一是Html.RenderPartial方式,其次是Html.RenderAction 方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • ASP.NET Core MVC基礎學習之局部視圖(Partial Views)

    ASP.NET Core MVC基礎學習之局部視圖(Partial Views)

    這篇文章主要給大家介紹了關于ASP.NET Core MVC基礎學習之局部視圖(Partial Views)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用ASP.NET Core MVC具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • .Net Core Api 使用版本控制詳解

    .Net Core Api 使用版本控制詳解

    Api的版本控制是Api開發(fā)中經(jīng)常遇到的問題, 在大部分中大型項目都需要使用到Api的版本控制,這篇文章主要介紹了.Net Core Api 使用版本控制詳解,感興趣的小伙伴們可以參考一下
    2018-10-10

最新評論

抚远县| 新河县| 报价| 三门县| 遂宁市| 额济纳旗| 榆中县| 新津县| 阳朔县| 枝江市| 博野县| 澄迈县| 霍林郭勒市| 冕宁县| 辽宁省| 龙游县| 旬阳县| 桑植县| 九龙坡区| 兴城市| 洛阳市| 玉门市| 天津市| 辽阳县| 南康市| 连江县| 商丘市| 东海县| 宿州市| 启东市| 通化市| 祁门县| 崇义县| 丹东市| 延边| 库尔勒市| 霸州市| 万源市| 天全县| 卓资县| 道孚县|