Access和Excel都是微軟的產(chǎn)品,其最大特點(diǎn)就是有較好的兼容性。所以使用微軟的office套件。打開access數(shù)據(jù)庫表,通過簡單的拷貝就可以直接復(fù)制到excel表格中。
十余年的鄂溫克網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整鄂溫克建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“鄂溫克網(wǎng)站設(shè)計(jì)”,“鄂溫克網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
這里不知道你的用途是什么,如果是程序設(shè)計(jì)需要,需要通過相應(yīng)的API來實(shí)現(xiàn)。各種程序設(shè)計(jì)語言提供了不同方式與方法。最簡單的是微軟公司自己的在.net開發(fā)環(huán)境下提供有dll的動(dòng)態(tài)連接庫接口
不知道你是不是在做.net編程,下面的答案也許對你有用,我以前做過,應(yīng)該對大數(shù)據(jù)有效
一些系統(tǒng)可能需求把數(shù)據(jù)導(dǎo)出到Access或者Excel文件格式,以方便的傳遞數(shù)據(jù)、打印等。
Excel 文件或者 Access這兩種需要導(dǎo)出的文件可能并不是事先就存在的,這就需要我們自己編程生成他們,下面整理一下生成這兩個(gè)文件的一些方法,只羅列最常用的。并不全。
一、首先生成Excel文件。
方案一、如果用Excel保存的只是二維數(shù)據(jù),也就是把他當(dāng)數(shù)據(jù)庫的來用。
最簡單,你不用引用任何額外組件,只需要用 OLEDB 就可以完成創(chuàng)建Excel文件。 范例代碼如下。
using System.Data.OleDb;public static void CreateExcelFile2() ...{ string OLEDBConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\aa2.xls;"; OLEDBConnStr += " Extended Properties=Excel 8.0;"; string strCreateTableSQL = @" CREATE TABLE "; strCreateTableSQL += @" 測試表 "; strCreateTableSQL += @" ( "; strCreateTableSQL += @" ID INTEGER, "; strCreateTableSQL += @" UserID INTEGER, "; strCreateTableSQL += @" UserIP VARCHAR , "; strCreateTableSQL += @" PostTime DATETIME , "; strCreateTableSQL += @" FromParm VARCHAR "; strCreateTableSQL += @" ) "; OleDbConnection oConn = new OleDbConnection(); oConn.ConnectionString = OLEDBConnStr; OleDbCommand oCreateComm = new OleDbCommand(); oCreateComm.Connection = oConn; oCreateComm.CommandText = strCreateTableSQL; oConn.Open(); oCreateComm.ExecuteNonQuery(); oConn.Close();}
using System.Data.OleDb;public static void CreateExcelFile2() ...{ string OLEDBConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\aa2.xls;"; OLEDBConnStr += " Extended Properties=Excel 8.0;"; string strCreateTableSQL = @" CREATE TABLE "; strCreateTableSQL += @" 測試表 "; strCreateTableSQL += @" ( "; strCreateTableSQL += @" ID INTEGER, "; strCreateTableSQL += @" UserID INTEGER, "; strCreateTableSQL += @" UserIP VARCHAR , "; strCreateTableSQL += @" PostTime DATETIME , "; strCreateTableSQL += @" FromParm VARCHAR "; strCreateTableSQL += @" ) "; OleDbConnection oConn = new OleDbConnection(); oConn.ConnectionString = OLEDBConnStr; OleDbCommand oCreateComm = new OleDbCommand(); oCreateComm.Connection = oConn; oCreateComm.CommandText = strCreateTableSQL; oConn.Open(); oCreateComm.ExecuteNonQuery(); oConn.Close();}
在你執(zhí)行創(chuàng)建表的同時(shí),系統(tǒng)如果發(fā)現(xiàn)Excel文件不存在,就自動(dòng)完成了Excel文件的創(chuàng)建。這點(diǎn)如果沒接觸過的人,可能會不知道的。
至于對其中的增加、修改操作, 跟普通數(shù)據(jù)庫沒啥兩樣,就不描述了。
可以參考以下文章:
方案二、直接生成一個(gè)使用間隔符號隔開每一項(xiàng)數(shù)據(jù)的純文本文件,但是文件的后綴是 XLS 。
注意:這時(shí)候,如果你直接用Excel打開這樣的文件,沒問題,一切正常,但是如果你用ADO.net 讀取這個(gè)文件的時(shí)候,你的鏈接引擎不應(yīng)該是Excel,而是文本文件(Microsoft Text Driver)。也就是鏈接字符串不應(yīng)該是
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\aa2.xls;Extended Properties=Excel 8.0;"
而應(yīng)該是下面的方式:
OLEDB的方式連接字符串:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\11.txt;Extended Properties='text;HDR=No;FMT=TabDelimited'
ODBC的方式讀TXT字符串寫法:
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=C:\\11.txt;Extensions=asc,csv,tab,txt;
請參考以下文章:
方案三、你要?jiǎng)?chuàng)建的Excel文件,有一些Excel自己的特色需要?jiǎng)?chuàng)建,這就需要使用 Com 了,即:Microsoft Excel Object Library了
請?zhí)砑?Microsoft Excel 11.0 Object Library 對它的引用,根據(jù)你裝的Office的版本,這個(gè)組件庫的版本也不一樣。
范例代碼:
public static void CreateExcelFile() ...{ string FileName = "c:\\aa.xls"; Missing miss = Missing.Value; Excel.Application m_objExcel = new Excel.Application(); m_objExcel.Visible = false; Excel.Workbooks m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks; Excel.Workbook m_objBook = (Excel.Workbook)(m_objBooks.Add(miss)); m_objBook.SaveAs(FileName, miss, miss, miss, miss, miss, Excel.XlSaveAsAccessMode.xlNoChange, miss, miss,miss, miss, miss); m_objBook.Close(false, miss, miss); m_objExcel.Quit(); }
我這里只是簡單的創(chuàng)建了Excel文件,沒有更多的操作Excel,如果希望看到更多的操作方法,請參考以下幾篇文章:
;en-us;306023Product=vcSnet#6
二、生成Access 數(shù)據(jù)庫
Access 畢竟是一個(gè)數(shù)據(jù)庫,所以Excel上述第一種方法,無法適用。
創(chuàng)建Access 數(shù)據(jù)庫文件可以使用 ADOX,
ADOX與OleDB的區(qū)別:ADOX是 data api 只是一個(gè)接口, OLEDB 是數(shù)據(jù)提供者,API 去調(diào)用 數(shù)據(jù)提供者。
范例代碼:
使用前,請?zhí)砑右?Microsoft ADO Ext. 2.x for DDL and Security 根據(jù)你的操作系統(tǒng),可能這里的版本也不一樣。
using ADOX;using System.IO; public static void CreateAccessFile(string FileName) ...{ if(!File.Exists(FileName)) ...{ ADOX.CatalogClass cat = new ADOX.CatalogClass(); cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName +";"); cat = null; } }
上述代碼只是生成了Access數(shù)據(jù)庫,適用ADOX你也可以操作數(shù)據(jù)庫,增加表等等操作,具體請參考以下文章:
這個(gè)先連接數(shù)據(jù)庫,然后調(diào)用,代碼如下:
$dbhost?=?'localhost:3306';??//?mysql服務(wù)器主機(jī)地址
$dbuser?=?'root';????????????//?mysql用戶名
$dbpass?=?'123456';??????????//?mysql用戶名密碼
$conn?=?mysqli_connect($dbhost,?$dbuser,?$dbpass);
if(!?$conn?){
die('Could?not?connect:?'?.?mysqli_error());
}
echo?'數(shù)據(jù)庫連接成功!';mysqli_close($conn);
$sql=mysql_query("select?*??from?wx_agent_orders?where?id=1");
$row=mysql_query($conn,$sql);
while($r=mysql_fetch_array($row)){
echo?$r['sendcontent']
}
這是最基礎(chǔ)的php獲取mysql方法了,希望采納
table width="50%" border="0" tr tdID/td tdID2/td tdorder1/td tdorder2/td tdorder3/td tdCAS/td /tr ?php //連接數(shù)據(jù)庫 $conn=@ mysql_connect("127.0.0.1","root","root") or die("連接數(shù)據(jù)庫失敗!"); mysql_select_db("test",$conn) or die("連接數(shù)據(jù)庫失敗!"); mysql_query("set names 'GBK'"); //連接結(jié)束 //接收提交過來查詢的ID $id=$_POST["id"]; //查詢數(shù)據(jù)庫相關(guān)數(shù)據(jù) $sql="select * from test where ID2='".$id."' order by id desc"; // $sql="select a.*,b.* from test a inner join test2 b on a.ID2=b.ID2" ID2='".$id."' order by id desc; $query=mysql_query($sql); //循環(huán)輸出 while($row=mysql_fetch_array($query)){ ? tr td?php echo $row["ID"];?/td td?php echo $row["ID2"];?/td td?php echo $row["order1"];?/td td?php echo $row["order2"];?/td td?php echo $row["order3"];?/td td?php echo $row["CAS"];?/td /tr ?php } ? /table form name="form1" method="post" action="" input type="text" name="id" input type="submit" name="Submit" value="查詢" /form
php使用mysql查詢數(shù)據(jù)庫已經(jīng)有多少條數(shù)據(jù)使用sql的count函數(shù)實(shí)現(xiàn)。
示例代碼如下:
?php
//數(shù)據(jù)庫連接
$conn=mysql_connect("localhost","root","root");
if(!$conn){
die("對不起,數(shù)據(jù)庫連接失??! ").mysql_errno();
}
//選擇數(shù)據(jù)庫
mysql_select_db("testdb");
//sql語句
$sql="SELECT COUNT(*) AS count FROM user";
//執(zhí)行sql
$query=mysql_query($sql,$conn);
//對結(jié)果進(jìn)行判斷
if(mysql_num_rows( $query)){
$rs=mysql_fetch_array($query);
//統(tǒng)計(jì)結(jié)果
$count=$rs[0];
}else{
$count=0;
}
echo $count;
?
返回的$count就是當(dāng)前數(shù)據(jù)庫的記錄條數(shù)。