1.æ¹æ³ä¸ï¼éç¨OleDB读åEXCELæ件ï¼
æEXCELæ件å½åä¸ä¸ªæ°æ®æºæ¥è¿è¡æ°æ®ç读åæä½ï¼å®ä¾å¦ä¸ï¼
public DataSet ExcelToDS(string Path){string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";OleDbConnection conn = new OleDbConnection(strConn);conn.Open(); string strExcel = ""; OleDbDataAdapter myCommand = null;DataSet ds = null;strExcel="select * from [sheet1$]";myCommand = new OleDbDataAdapter(strExcel, strConn);ds = new DataSet();myCommand.Fill(ds,"table1"); return ds;}
对äºEXCELä¸ç表å³sheet([sheet1$])å¦æä¸æ¯åºå®çå¯ä»¥ä½¿ç¨ä¸é¢çæ¹æ³å¾å°
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";OleDbConnection conn = new OleDbConnection(strConn);DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,null);string tableName=schemaTable.Rows[0][2].ToString().Trim();
å¦å¤ï¼ä¹å¯è¿è¡åå
¥EXCELæ件ï¼å®ä¾å¦ä¸ï¼
public void DSToExcel(string Path,DataSet oldds){//å
å¾å°æ±æ»EXCELçDataSet 主è¦ç®çæ¯è·å¾EXCELå¨DataSetä¸çç»æstring strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+path1+";Extended Properties=Excel 8.0" ;OleDbConnection myConn = new OleDbConnection(strCon) ;string strCom="select * from [Sheet1$]";myConn.Open ( ) ;OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom, myConn ) ;ystem.Data.OleDb.OleDbCommandBuilder builder=new OleDbCommandBuilder(myCommand);//QuotePrefixåQuoteSuffix主è¦æ¯å¯¹builderçæInsertCommentå½ä»¤æ¶ä½¿ç¨ãbuilder.QuotePrefix="["; //è·åinsertè¯å¥ä¸ä¿çå符ï¼èµ·å§ä½ç½®ï¼builder.QuoteSuffix="]"; //è·åinsertè¯å¥ä¸ä¿çå符ï¼ç»æä½ç½®ï¼DataSet newds=new DataSet();myCommand.Fill(newds ,"Table1") ;for(int i=0;i<oldds.Tables[0].Rows.Count;i++){//å¨è¿éä¸è½ä½¿ç¨ImportRowæ¹æ³å°ä¸è¡å¯¼å
¥å°newsä¸ï¼å 为ImportRowå°ä¿çåæ¥DataRowçææ设置(DataRowStateç¶æä¸å)ã å¨ä½¿ç¨ImportRowånewdså
æå¼ï¼ä½ä¸è½æ´æ°å°Excelä¸å 为ææ导å
¥è¡çDataRowState!=AddedDataRow nrow=aDataSet.Tables["Table1"].NewRow();for(int j=0;j<newds.Tables[0].Columns.Count;j++){ nrow[j]=oldds.Tables[0].Rows[i][j];}newds.Tables["Table1"].Rows.Add(nrow);}myCommand.Update(newds,"Table1");myConn.Close();}
2.æ¹æ³äºï¼å¼ç¨çcomç»ä»¶ï¼Microsoft.Office.Interop.Excel.dll 读åEXCELæ件
é¦å
æ¯Excel.dllçè·å,å°Officeå®è£
ç®å½ä¸çExcel.exeæ件Copyå°DotNetçbinç®å½ä¸,cmdå°è¯¥ç®å½ä¸,è¿è¡ TlbImp EXCEL.EXE Excel.dll å¾å°Dllæ件ã åå¨é¡¹ç®ä¸æ·»å å¼ç¨è¯¥dllæ件.
//读åEXCELçæ¹æ³ (ç¨èå´åºå读åæ°æ®)private void OpenExcel(string strFileName){ object missing = System.Reflection.Missing.Value; Application excel = new Application();//lauch excel application if (excel == null) { Response.Write("<script>alert('Can't access excel')</script>"); } else { excel.Visible = false; excel.UserControl = true; // 以åªè¯»çå½¢å¼æå¼EXCELæ件 Workbook wb = excel.Application.Workbooks.Open(strFileName, missing, true, missing, missing, missing, missing, missing, missing, true, missing, missing, missing, missing, missing); //åå¾ç¬¬ä¸ä¸ªå·¥ä½è Worksheet ws = (Worksheet)wb.Worksheets.get_Item(1); //åå¾æ»è®°å½è¡æ° (å
æ¬æ é¢å) int rowsint = ws.UsedRange.Cells.Rows.Count; //å¾å°è¡æ° //int columnsint = mySheet.UsedRange.Cells.Columns.Count;//å¾å°åæ° //åå¾æ°æ®èå´åºå (ä¸å
æ¬æ é¢å) Range rng1 = ws.Cells.get_Range("B2", "B" + rowsint); //item Range rng2 = ws.Cells.get_Range("K2", "K" + rowsint); //Customer object[,] arryItem= (object[,])rng1.Value2; //get range's value object[,] arryCus = (object[,])rng2.Value2; //å°æ°å¼èµç»ä¸ä¸ªæ°ç» string[,] arry = new string[rowsint-1, 2]; for (int i = 1; i <= rowsint-1; i++) { //Item_Codeå arry[i - 1, 0] =arryItem[i, 1].ToString(); //Customer_Nameå arry[i - 1, 1] = arryCus[i, 1].ToString(); } Response.Write(arry[0, 0] + " / " + arry[0, 1] + "#" + arry[rowsint - 2, 0] + " / " + arry[rowsint - 2, 1]); } excel.Quit(); excel = null; Process[] procs = Process.GetProcessesByName("excel"); foreach (Process pro in procs) { pro.Kill();//没ææ´å¥½çæ¹æ³,åªæææè¿ç¨ } GC.Collect();}
3.æ¹æ³ä¸ï¼å°EXCELæ件转åæCSVï¼éå·åéï¼çæ件ï¼ç¨æ件æµè¯»å(çä»·å°±æ¯è¯»åä¸ä¸ªtxtææ¬æ件)ã
å
å¼ç¨å½å空é´:using System.Text;åusing System.IO;FileStream fs = new FileStream("d:\\Customer.csv", FileMode.Open, FileAccess.Read, FileShare.None);StreamReader sr = new StreamReader(fs, System.Text.Encoding.GetEncoding(936)); string str = "";string s = Console.ReadLine();while (str != null){ str = sr.ReadLine(); string[] xu = new String[2]; xu = str.Split(','); string ser = xu[0]; string dse = xu[1]; if (ser == s) { Console.WriteLine(dse);break; }} sr.Close();
å¦å¤ä¹å¯ä»¥å°æ°æ®åºæ°æ®å¯¼å
¥å°ä¸ä¸ªtxtæ件ï¼å®ä¾å¦ä¸ï¼
//txtæ件å string fn = DateTime.Now.ToString("yyyyMMddHHmmss") + "-" + "PO014" + ".txt"; OleDbConnection con = new OleDbConnection(conStr); con.Open(); string sql = "select ITEM,REQD_DATE,QTY,PUR_FLG,PO_NUM from TSD_PO014"; //OleDbCommand mycom = new OleDbCommand("select * from TSD_PO014", mycon); //OleDbDataReader myreader = mycom.ExecuteReader(); //ä¹å¯ä»¥ç¨Reader读åæ°æ® DataSet ds = new DataSet(); OleDbDataAdapter oda = new OleDbDataAdapter(sql, con); oda.Fill(ds, "PO014"); DataTable dt = ds.Tables[0]; FileStream fs = new FileStream(Server.MapPath("download/" + fn), FileMode.Create, FileAccess.ReadWrite); StreamWriter strmWriter = new StreamWriter(fs); //åå
¥å°ææ¬æä»¶ä¸ //ææ é¢åå
¥.txtæä»¶ä¸ //for (int i = 0; i <dt.Columns.Count;i++) //{ // strmWriter.Write(dt.Columns[i].ColumnName + " "); //} foreach (DataRow dr in dt.Rows) { string str0, str1, str2, str3; string str = "|"; //æ°æ®ç¨"|"åéå¼ str0 = dr[0].ToString(); str1 = dr[1].ToString(); str2 = dr[2].ToString(); str3 = dr[3].ToString(); str4 = dr[4].ToString().Trim(); strmWriter.Write(str0); strmWriter.Write(str); strmWriter.Write(str1); strmWriter.Write(str); strmWriter.Write(str2); strmWriter.Write(str); strmWriter.Write(str3); strmWriter.WriteLine(); //æ¢è¡ } strmWriter.Flush(); strmWriter.Close(); if (con.State == ConnectionState.Open) { con.Close(); }
温馨提示:答案为网友推荐,仅供参考