搜尋此網誌
2011年8月14日 星期日
excel 轉 datatable
public DataTable ExcleToDt(String filePath)
{
//filePath 檔案路徑
//sheetName 預設工作表名稱
string sheetName="Sheet1";
int i;
StreamWriter StreamWriterObj;
OleDbConnection objConn ;
DataTable dt;
DataTable dt2=new DataTable() ;
ArrayList ary=new ArrayList() ;
try
{
DataSet myDataset=new DataSet();
string strConn;
//xls
//strConn = "Provider='Microsoft.Jet.OLEDB.4.0';" + "Data Source='" + filePath + "';Extended
//Properties='Excel 8.0;IMEX=1;HDR=NO;'";
//HDR=NO 表轉入後第一行為欄位名稱 主要是判斷該EXCEL欄位有無缺少
//可讀xlsx
strConn = "Provider='Microsoft.Ace.OleDb.12.0';" + "Data Source='" + filePath + "';Extended Properties='Excel
12.0;IMEX=1;HDR=NO;'";
//使用可讀xlsx前需先下載安裝Microsoft Access Database Engine 2010 可轉散發套件
//http://www.microsoft.com/downloads/zh-tw/details.aspx?familyid=C06B8369-60DD-4B64-A44B-
//84B371EDE16D&displaylang=zh-tw
objConn = new OleDbConnection(strConn);
objConn.Open();
dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
if (dt.Rows.Count >1)
{
foreach (DataRow row in dt.Rows)
{
if (row["TABLE_NAME"].ToString().IndexOf("$") != -1 )
{
if (row["TABLE_NAME"].ToString().IndexOf("交付表格") != -1 ||
row["TABLE_NAME"].ToString().IndexOf("sheet1") != -1)
{
ary.Add(row["TABLE_NAME"]);
}
}
}
}
sheetName = ary[0].ToString() ;
OleDbDataAdapter myData =new OleDbDataAdapter("SELECT * FROM [" + sheetName + "]",
strConn);
myData.TableMappings.Add("Table", "ExcelTest");
myData.Fill(myDataset);
for (int ii = 0 ;ii<= myDataset.Tables[0].Columns.Count - 1;ii++)
{
if (myDataset.Tables[0].Rows[0][ii].ToString() == string.Empty)
{
break ;
}
if (myDataset.Tables[0].Rows[0][ii].ToString() == "EXCEL上的中文名稱1" )
{
myDataset.Tables[0].Columns[ii].ColumnName = "AAA";
}
else if (myDataset.Tables[0].Rows[0][ii].ToString() == "EXCEL上的中文名稱1")
{
myDataset.Tables[0].Columns[ii].ColumnName = "BBB";
}
}
dt2 = myDataset.Tables[0];
objConn.Close();
}
catch
{
}
return dt2;
}
2011年8月10日 星期三
ASP.NET Oracel 資料庫的連結應用(新增修改刪除)
//無Transaction
int irow = 0;
//連線資訊
OracleConnection cn = new
OracleConnection(System.Configuration.ConfigurationManager.AppSettings["XXXX"]);
OracleCommand Cmd = new OracleCommand();
Cmd.CommandText = SQL;
Cmd.Connection = cn;
cn.Open();
try
{
irow = Cmd.ExecuteNonQuery();
cn.Close();
if (irow != -1)
{
return true;
}
else
{
return false;
}
}
catch(Exception ex)
{
cn.Close();
return false;
}
//Transaction
int irow = 0;
OracleConnection cn = new OracleConnection(System.Configuration.ConfigurationManager.AppSettings["XXX"]);
OracleCommand Cmd = new OracleCommand();
OracleTransaction objTransaction;
cn.Open();
Cmd.Connection = cn;
objTransaction = cn.BeginTransaction(IsolationLevel.ReadCommitted);
Cmd.Transaction = objTransaction;
try
{
Cmd.CommandText = SQL;
irow = Cmd.ExecuteNonQuery();
objTransaction.Commit();
cn.Close();
if (irow != -1)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
objTransaction.Rollback();
cn.Close();
}
2011年8月4日 星期四
ASP.NET Oracel 資料庫的連結應用(查詢)
為了怕下次開新專案又要重新寫一次~還是在這稍微記錄一下好了
web.config
<add key="ConnectionString" value="server=XXXX;data source=XXX;user id=XXX;password=XXX"/>
程式方面
using System.Data.OracleClient;
using System.Data.OracleClient;
public DataSet SQlExecuteReader(string SQL)
{
DataSet ds = new DataSet();
try
{
OracleDataAdapter DReader = new OracleDataAdapter();
OracleConnection cn = new OracleConnection
(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
OracleCommand Cmd = new OracleCommand();
Cmd.CommandText = SQL;
Cmd.Connection = cn;
cn.Open();
DReader = new OracleDataAdapter(Cmd);
cn.Close();
DReader.Fill(ds);
}
catch (Exception ex)
{
cn.Close();
}
return ds;
}
web.config
<add key="ConnectionString" value="server=XXXX;data source=XXX;user id=XXX;password=XXX"/>
程式方面
using System.Data.OracleClient;
using System.Data.OracleClient;
public DataSet SQlExecuteReader(string SQL)
{
DataSet ds = new DataSet();
try
{
OracleDataAdapter DReader = new OracleDataAdapter();
OracleConnection cn = new OracleConnection
(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
OracleCommand Cmd = new OracleCommand();
Cmd.CommandText = SQL;
Cmd.Connection = cn;
cn.Open();
DReader = new OracleDataAdapter(Cmd);
cn.Close();
DReader.Fill(ds);
}
catch (Exception ex)
{
cn.Close();
}
return ds;
}
2011年8月3日 星期三
window server2008 檔案寫入權限設定
參考網址:
http://ashiang.blogspot.com/
下的
有關IIS7.5 Application Pool Identity的設定
做法:
將需要可寫入的檔案案右鍵-->內容-->安全性-->編輯-->新增-->進階
選擇:NETWORK SERVICE
然後再給他修改跟寫入權限即可
http://ashiang.blogspot.com/
下的
有關IIS7.5 Application Pool Identity的設定
做法:
將需要可寫入的檔案案右鍵-->內容-->安全性-->編輯-->新增-->進階
選擇:NETWORK SERVICE
然後再給他修改跟寫入權限即可
訂閱:
文章 (Atom)