0
我有一個現有的表單,我需要直接從MySQL數據庫填充字段。從MySQL數據庫填充Excel表單字段
我的老闆希望我們的客戶的個人資料稅計算被自動輸入到Excel表格中。
對此有何建議?
在此先感謝...
BTW,使用PHP
的我有一個現有的表單,我需要直接從MySQL數據庫填充字段。從MySQL數據庫填充Excel表單字段
我的老闆希望我們的客戶的個人資料稅計算被自動輸入到Excel表格中。
對此有何建議?
在此先感謝...
BTW,使用PHP
的第二個編輯:
<?php
function connect_db($db_name) {
$con = mysql_connect('localhost', 'db_user', 'db_pass');
$seldb = mysql_select_db($db_name);
if($con && $seldb) {
return true;
}
else {
return false;
}
}
function get_data_from_mysql() {
$data_query = "SELECT date, new_users, old_users, income FROM stats ORDER BY date DESC LIMIT 30";
$data_mysql = mysql_query($data_query);
$data_finished = array();
while($data_fetch = mysql_fetch_assoc($data_mysql)) {
$data_finished[] = $data_fetch;
}
return $data_finished;
}
function print_to_xls($filename, $data_from_mysql) {
$file = "xls_archive/" . $filename . ".xls";
$file_abs_path = "http://www.yoursite.com/xls_archive/" . $file;
$content = "date\t new users\t old users\t income\n";;
foreach($data_from_mysql as $data) {
$content .= $data['date'] . "\t " . $data['new_users'] . "\t " . $data['old_users'] . "\t " . $data['income'] . "\n";
}
$saving_file = $file;
$fo = fopen($saving_file, 'w') or die("can't open file");
$data_to_write = $content;
fwrite($fo, $data_to_write);
fclose($fo);
header("Content-type: application/ms-excel");
header("Content-Transfer-Encoding: Binary");
header("Content-Disposition: attachment; filename=" . $file);
readfile($file_abs_path);
}
$connect_to_db = connect_db("db_name");
if ($connect_to_db) {
$data_to_print = get_data_from_mysql();
$today = date("Y_m_d");
$filename = "dailyreport_" . $today;
print_to_xls($filename, $data_to_print);
}
else {
print "ERROR";
}
?>
以上代碼會產生從MySQL數據庫生成的文件一個.xls 。
*代碼沒有測試,但我認爲它完美的作品...
先編輯:
你也可以做到這一點的手,通過表格的形式打包數據,並更改標題到Excel的像這樣的:
$file ="dailyreport.xls";
$content = "data1 \t data2 \t data3 \t \n";
header("Content-type: application/ms-excel");
header("Content-Disposition: attachment; filename=" . $file);
print $content;
這段代碼(後產生),提示用戶下載文件「dailyreport.xls」
你也可以試試這個PHP庫產生XLS文件:
http://phpexcel.codeplex.com/
很好的回答,你也可以使用'$內容=「
我可以知道哪些文件,我應該補充你這個代碼?它是否在index.php? –
這對你來說更是一個問題:)你如何組織你的代碼......如果你希望我幫助你,請更具體地說明什麼是用PHP生成xls所需的過程。 .. – Develoger
那麼你可以使用PHP來從MySQL中獲取數據,但顯示在Excel中了可以以多種方式來完成,讓我們假設你有會跟MySQL和獲取所需的數據和程序的以XML格式。
現在你可以做一個Export to excel,理想情況下你在這裏做的是改變application/vnd.ms-excel的響應類型,並以表格格式格式化數據,這樣excel會將它視爲行和列。
好了以上是一種方式,還有很多其他的方法,你可以在後端生成excel併爲用戶提供一個鏈接,或者你可以將數據公開爲服務並編寫一個excel插件來讀取來自您的服務的數據
來源
2012-09-28 08:46:29
這很簡單,你不需要一個excel對象,你需要通過php建立一個表格格式,並將響應內容類型設置爲excel,它會提示用戶下載excel文件 –
請在某處上傳截圖,我是從移動的評論,所以不能看到zip文件 –
和一個投票將有助於 –
將整個表單創建爲不含表單字段的html表單,然後將內容作爲Excel電子表單創建。
這個答案提供了更多的細節
HTML table to excel - PHP
你會得到一個安全警告每次打開電子表格的時間,但你是誰創造了它的一個,它是供內部使用,你可以忽略安全警告。
警告會說類似...
"The file you are trying to open, '[filename]', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file?"
另見What's XLSHTML?
來源
2012-09-28 09:02:29 chim
我被他人建議使用fpdf,將創建一個使用pdf格式的模板,這是我可以添加字段來創建一個php表單的時間。 –
如果要輸出到xls,那麼每個單元格實際上都是輸入字段,因爲您可以使用電子表格中的計算值並在電子表格中更改它們。你想在你的電子表格中使用「表單控件」嗎? – chim
相關問題