您好我有一個excelsheet包含多個數據的列名稱和薪水現在我想生成一個表格,從excel表格中分別對應每一行。請幫助我如何在php中執行此操作。我不想使用mysql來執行this.please幫助。我怎麼能生成一個表格,包含所有字段從PHP中的Excel表格包含在內
0
A
回答
1
首先,您需要能夠讀取Excel數據。哪個版本的Excel? xls或xlsx? 我建議使用PHPExcel這個庫,雖然有替代品。
include 'PHPExcel/IOFactory.php';
$inputFileName = './sampleData/example1.xls';
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
將爲您提供標準PHP數組中的工作表數據。
0
,如果你能使用CSV文件,可以使用 fgetcsv和fputcsv:http://www.php.net/manual/fr/function.fgetcsv.php
檢查該樣品。每個條目
<?php
define('INPUT_FILENAME', '/path/to/your/csv/file');
define('OUTPUT_FILENAME', '/path/to/your/csv/file');
define('SEPARATOR', ',');
define('ENCLOSURE', '"');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['entries'])) {
$entries = $_POST['entries'];
}
// do the validation stuff here ...
if ($ok) {
// save the entries into the DESTINATION file
$handle = fopen(OUTPUT_FILENAME, 'w');
foreach ($entries as $entry) {
$fields = array(
$entry['name'],
$entry['salary']
);
fputcsv($handle, $fields, SEPARATOR, ENCLOSURE);
}
exit('done');
}
}
if (!isset($entries)) {
// fetch the entries
$entries = array();
if (($handle = fopen(INPUT_FILENAME, 'r')) !== false) {
while (($row = fgetcsv($handle, 1000, SEPARATOR, ENCLOSURE)) !== false) {
list($name, $salary) = $row;
$entries[] = array(
'name' => $name,
'salary' => $salary
);
}
fclose($handle);
}
}
// display the form
print '<form action="#" method="post">';
foreach ($entries as $i => $entry) {
print '<fieldset>';
print '<label>Name';
printf('<input type="text" name="entries[%s]name" value="%s" />', $i, htmlspecialchars($entry['name']));
print '</label>';
print '<label>Name';
printf('<input type="text" name="entries[%s]salary" value="%s" />', $i, htmlspecialchars($entry['salary']));
print '</label>';
print '</fieldset>';
}
print '<input type="submit" />';
print '</form>';
而且一種形式:
<?php
define('INPUT_FILENAME', '/path/to/your/csv/file');
define('OUTPUT_FILENAME', '/path/to/your/csv/file');
define('SEPARATOR', ',');
define('ENCLOSURE', '"');
$entries = array();
// Allways prefetch entries
if (($handle = fopen(INPUT_FILENAME, 'r')) !== false) {
while (($row = fgetcsv($handle, 1000, SEPARATOR, ENCLOSURE)) !== false) {
list($name, $salary) = $row;
$entries[] = array(
'name' => $name,
'salary' => $salary
);
}
fclose($handle);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$position = null;
if (isset($_POST['position'])) {
$position = (int) $_POST['position'];
}
$name = null;
if (isset($_POST['name'])) {
$name = $_POST['name'];
}
$salary = null;
if (isset($_POST['salary'])) {
$salary = $_POST['salary'];
}
// do the validation stuff here ...
if ($ok) {
// merge the entry into the list
$entries[$position] = array(
'name' => $name,
'salary' => $salary
);
// save the entries into the DESTINATION file
$handle = fopen(OUTPUT_FILENAME, 'w');
foreach ($entries as $entry) {
$fields = array(
$entry['name'],
$entry['salary']
);
fputcsv($handle, $fields, SEPARATOR, ENCLOSURE);
}
exit('done');
}
}
// display
foreach ($entries as $i => $entry) {
// one form per entry
print '<form action="#" method="post">';
print '<fieldset>';
print '<label>Name';
printf('<input type="text" name="name" value="%s" />', htmlspecialchars($entry['name']));
print '</label>';
print '<label>Name';
printf('<input type="text" name="salary" value="%s" />', htmlspecialchars($entry['salary']));
print '</label>';
printf('<input type="hidden" name="position" value="%s"', $i);
print '</fieldset>';
print '<input type="submit" />';
print '</form>';
}
0
將文件保存爲一個網頁,然後編寫PHP腳本的一點點吧。 如果您不想使用mysql,請使用Sqlite來存儲值。 Sqlite將會像文件一樣。
相關問題
- 1. 使包含表格的一個div分爲兩個div,其中包含表格
- 2. 如何在包含乳膠的表格中包含長文字?
- 3. 如何指定所有表格應包含特定字段?
- 4. SQL Server:一個表格包含400列或40個表格包含10列?
- 5. Rails包含表格
- 6. 如何查找包含Excel表格中包含宏數據的最後一行?
- 7. 包含所有行的兩個表格,包括基於ID分配的內容
- 8. Excel - 一系列單元格是否包含列表中的值?從列表中包含的任何值: -
- 9. 我有兩個表格,一個包含學生id和couse。第二個包含couses,日期和時間
- 10. 如何在Chart.js中添加一個包含表格的圖表?
- 11. 在表格內部包含一個可拖動的div
- 12. 重新包含MDIchild表格
- 13. 表格單元格是否有一個包含區塊?
- 14. Excel:找出單元格是否包含/包含單元格範圍內的值
- 15. 內聯格在跨度不包含所有的文字高度
- 16. 不能包含jQuery表格排序
- 17. 創建一個包含多個數組的表格PHP
- 18. 我如何創建一個新的SQLite數據庫,包含所有的表格?
- 19. 獲取包含某個單詞的所有表格
- 20. 創建一個包含所選初始元素的表格
- 21. Flexbox,我怎麼能有一個flex項目包含兩行
- 22. 從包含paranthesis的表中選擇一個字段
- 23. Excel VBA - 檢查單元格是否包含一段文字
- 24. 使用PHPExcel閱讀包含合併單元格的Excel表格
- 25. 排序包含合併單元格的Excel表格
- 26. 我的表格包含30個字段,如何在網頁上顯示
- 27. php在表格tr中包含每3個元素
- 28. 如何將包含行名的表格從Matlab導出到Excel?
- 29. 如何一次更新一個包含值列表的表格?
- 30. 用於生成包含單元格公式的Excel報表的Java代碼
感謝兄弟多數民衆贊成偉大的解決方案。其他請請如果你能我怎麼能打開每一行的新表格。 – 2011-01-06 10:42:01