asp.NetページでExcelテーブルの内容を取得する方法
3229 ワード
asp.NetページでExcelテーブルの内容を取得する方法については、以下のように説明します.
まず、コンポーネントとネーミングスペースを参照します.
指定したパスにexcelをアップロードします
ファイルのアップロード方法の省略
最後にアップロードしたexcelをDatasetにします(以下の方法をコピーすれば使えます)
asp.Net excelテーブルデータの読み出し方法
実際には、Excelテーブルのデータの読み取りは、ある程度Excelテーブルが1枚1枚のデータテーブルと見なすことができるため、データベースのデータの読み取りと非常に似ています.両者の主な違いは、使用するデータエンジンが異なることです.
本明細書のプログラムでは、以下のコードによりExcelテーブルデータの読み取りを実現します.
Excelは左のデータベースを見ることができ、中のワークシートは左のデータベーステーブルを見ることができるので、検索結果をフィルタすることもできます.
これでdtDataの中のデータは[Sheet 1$]テーブルのcolumn 1が空でないすべてのデータです
以上、aspについて説明する.NetページでExcelテーブルの内容をどのように入手するかは、皆さんの役に立つと思います
まず、コンポーネントとネーミングスペースを参照します.
using Microsoft.Office.Interop.Excel;
using System.Data.OleDb;
指定したパスにexcelをアップロードします
ファイルのアップロード方法の省略
最後にアップロードしたexcelをDatasetにします(以下の方法をコピーすれば使えます)
public DataSet seachExcel(string str) // excel
{
OleDbDataAdapter da = new OleDbDataAdapter();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
string NameTable = "";
string ConText = "";
try
{
// Excel
FileInfo info = new FileInfo(str);
//
string fileExt = info.Extension;
//
if (fileExt .ToLower() ==".xls")
{
ConText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + str + ";Extended Properties='excel 8.0;hdr=no;IMEX=1';Persist Security Info=false";
}
else if (fileExt.ToLower() == ".xlsx")
{
ConText = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + str + ";Extended Properties='excel 12.0 Xml;hdr=no;IMEX=1';Persist Security Info=False";
}
// excel
OleDbConnection conn = new OleDbConnection(ConText);
// excel
conn.Open();
dt=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null );
if(dt!=null && dt.Rows .Count >0)
{
// sheet1
NameTable = dt.Rows[0]["TABLE_NAME"].ToString();
// sheet2
//NameTable = dt.Rows[1]["TABLE_NAME"].ToString();
}
string sql = "select * from [" + NameTable + "]";
da = new OleDbDataAdapter(sql, conn);
try
{
da.Fill(ds,NameTable); // Dataset
}
catch
{ }
conn.Close();
}
catch
{
}
return ds; // Dataset
}
asp.Net excelテーブルデータの読み出し方法
実際には、Excelテーブルのデータの読み取りは、ある程度Excelテーブルが1枚1枚のデータテーブルと見なすことができるため、データベースのデータの読み取りと非常に似ています.両者の主な違いは、使用するデータエンジンが異なることです.
本明細書のプログラムでは、以下のコードによりExcelテーブルデータの読み取りを実現します.
string strDataPathPhy = "c://1.xls";
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + strDataPathPhy + ";Extended Properties=Excel 8.0";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$]";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataTable dtData = new DataTable();
myCommand.Fill(dtData);
myConn.Close();
Excelは左のデータベースを見ることができ、中のワークシートは左のデータベーステーブルを見ることができるので、検索結果をフィルタすることもできます.
strCom = " SELECT * FROM [Sheet1$] WHERE column1 <> '' ";
これでdtDataの中のデータは[Sheet 1$]テーブルのcolumn 1が空でないすべてのデータです
以上、aspについて説明する.NetページでExcelテーブルの内容をどのように入手するかは、皆さんの役に立つと思います