Access和Excel都是微軟的產(chǎn)品,其最大特點(diǎn)就是有較好的兼容性。所以使用微軟的office套件。打開access數(shù)據(jù)庫表,通過簡(jiǎn)單的拷貝就可以直接復(fù)制到excel表格中。
10年的永定網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(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ì)語言提供了不同方式與方法。最簡(jiǎn)單的是微軟公司自己的在.net開發(fā)環(huán)境下提供有dll的動(dòng)態(tài)連接庫接口
不知道你是不是在做.net編程,下面的答案也許對(duì)你有用,我以前做過,應(yīng)該對(duì)大數(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ù)庫的來用。
最簡(jiǎn)單,你不用引用任何額外組件,只需要用 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 += @" 測(cè)試表 "; 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 += @" 測(cè)試表 "; 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)如果沒接觸過的人,可能會(huì)不知道的。
至于對(duì)其中的增加、修改操作, 跟普通數(shù)據(jù)庫沒啥兩樣,就不描述了。
可以參考以下文章:
方案二、直接生成一個(gè)使用間隔符號(hào)隔開每一項(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;
請(qǐng)參考以下文章:
方案三、你要?jiǎng)?chuàng)建的Excel文件,有一些Excel自己的特色需要?jiǎng)?chuàng)建,這就需要使用 Com 了,即:Microsoft Excel Object Library了
請(qǐng)?zhí)砑?Microsoft Excel 11.0 Object Library 對(duì)它的引用,根據(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(); }
我這里只是簡(jiǎn)單的創(chuàng)建了Excel文件,沒有更多的操作Excel,如果希望看到更多的操作方法,請(qǐng)參考以下幾篇文章:
;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ù)提供者。
范例代碼:
使用前,請(qǐng)?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ù)庫,增加表等等操作,具體請(qǐng)參考以下文章:
?php
mysql_connect("localhost","root","123456") //填寫mysql用戶名和密碼
or die("Could not connect to MySQL server!");
mysql_select_db("phpcms") //數(shù)據(jù)庫名
or die("Could not select database!");
mysql_query('set names "gbk"'); //數(shù)據(jù)庫內(nèi)數(shù)據(jù)的編碼
?
大概的基本流程如下:
連接數(shù)據(jù)庫,再加一個(gè)判斷。
選擇數(shù)據(jù)庫
讀取表
輸出表中數(shù)據(jù)
下面是代碼:
?php
$con =?mysql_connect("localhost","root","abc123");
/* localhost 是服務(wù)器 root 是用戶名?abc123 是密碼*/?
if (!$con)
{
die("數(shù)據(jù)庫服務(wù)器連接失敗");
}
/*?這就是一個(gè)邏輯非判斷,如果錯(cuò)誤就輸出括號(hào)里的字符串 */?
@mysql_select_db("a",?$con);?
/*?選擇mysql服務(wù)器里的一個(gè)數(shù)據(jù)庫,假設(shè)你的數(shù)據(jù)庫名為?a*/?
$sql?=?"SELECT?*?FROM qq";?
/* 定義變量sql,?"SELECT?*?FROM?qq" 是SQL指令,表示選取表qq中的數(shù)據(jù)?*/?
$result =?mysql_query($sql); //執(zhí)行SQL語句,獲得結(jié)果集?
/*下面就是選擇性的輸出打印了,由于不清楚你的具體情況給你個(gè)表格打印吧*/
//打印表格?
echo "table border=1";?
while( $row = mysql_fetch_array($result) )
/*逐行獲取結(jié)果集中的記錄,得到數(shù)組row?*/
{ ?
/*數(shù)組row的下標(biāo)對(duì)應(yīng)著數(shù)據(jù)庫中的字段值?*/
$id = $row['id'];?
$name = $row['name'];?
$sex = $row['sex'];?
echo "tr";?
echo "td$id/td";?
echo "td$name/td";?
echo "td$sex/td";?
echo "/tr";?
}?
echo "table /";?
?
如果你的switch是表頭,就定義這個(gè)表頭字段,然后輸出。
你可以去后盾人平臺(tái)看看,里面的東西不錯(cuò)
可以參考下面的代碼:
//連接數(shù)據(jù)庫服務(wù)器
$link =?mysql_connect(‘host(服務(wù)器ip地址,本地用localhost)’,'數(shù)據(jù)庫賬戶',‘?dāng)?shù)據(jù)庫密碼’);
//選擇要連接的數(shù)據(jù)庫
mysql_select_db('數(shù)據(jù)庫名字');
//執(zhí)行查詢,返回?cái)?shù)據(jù)源
$query = mysql_query("SELECT * FROM test");
//遍歷數(shù)據(jù)源,并賦值給$r,當(dāng)沒有數(shù)據(jù)時(shí),變成false中斷循環(huán)
while($r = mysql_fetch_array($query)){
echo $r['field_name'];//輸出字段
}
擴(kuò)展資料:
mysql使用說明
1、如果是用 MySQL +?Apache,使用的又是?FreeBSD?網(wǎng)絡(luò)操作系統(tǒng)的話,安裝時(shí)候應(yīng)按注意到FreeBSD的版本問題,在 FreeBSD 的 3.0 以下版本來說,MySQL Source 內(nèi)含的 MIT-pthread 運(yùn)行是正常的,但在這版本以上,必須使用 native threads,也就是加入一個(gè) with-named-thread-libs=-lc_r 的選項(xiàng)。
2、如果在 COMPILE 過程中出了問題,請(qǐng)先檢查gcc版本是否在 2.81 版本以上,gmake 版本是否在3.75以上。
3、如果不是版本的問題,那可能是內(nèi)存不足,請(qǐng)使用 ./configure--with-low-memory 來加入。
4、如果要重新做configure,那么可以鍵入?rm?config.cache 和 make clean 來清除記錄。
5、把 MySQL 安裝在 /usr/local 目錄下,這是缺省值,也可以按照需要設(shè)定所安裝的目錄。
參考資料來源:百度百科-mySQL (關(guān)系型數(shù)據(jù)庫管理系統(tǒng))
怎么沒人回答呢?
獲取相應(yīng)的數(shù)據(jù),手動(dòng)觸發(fā)更新會(huì)了吧(如果不會(huì),那以下的可以不用看了)。
只要會(huì)了這點(diǎn),用php來控制事件觸發(fā),就不如用js來完成,無論是何種方式,整點(diǎn)時(shí)必須有網(wǎng)頁是被打開的。
給你個(gè)思路去完成吧。
用js獲取分鐘數(shù)和秒數(shù)
test()
function test(){
var m=now.getMinutes();
var s=now.getSeconds();
if(m!=59||s!=59){
setTimeout("test()",1000); // 1000 表示 每秒判斷一次
}else{
打開指定的頁面運(yùn)行指定的代碼
setTimeout("test()",1000);
}
}
這是目前最簡(jiǎn)單有效的方法了,前提必須是有網(wǎng)頁是開著的。
另一個(gè)辦法是
設(shè)置個(gè)更新時(shí)間,然后用現(xiàn)在的更新的時(shí)間與更新的時(shí)間相減,得到的結(jié)果如果大于1小時(shí),便立即觸發(fā)事件。
這樣做的好處便是,只要有用戶在訪問,請(qǐng)可以看到更新的數(shù)據(jù),每次更新的時(shí)間強(qiáng)制設(shè)置成整點(diǎn)值。
這第二種方法就無法做到完全準(zhǔn)時(shí)整點(diǎn)更新了。
本文題目:php調(diào)用一條數(shù)據(jù),php發(fā)送數(shù)據(jù)
URL地址:http://chinadenli.net/article26/heeccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、、靜態(tài)網(wǎng)站、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)