我使用php
来开发我的网站,我需要能够浏览并上传Excel
工作表。然后我需要将这些信息存储在SQL
数据库中。通过网站将Excel工作表数据上传到SQL数据库中
我意识到这是一个相对悬而未决的问题,但我已经找到了关于如何做到这一点的信息,并没有太多的了解。将数据存储在SQL数据库中很好,但我不确定如何上传电子表格以便网站可以读取它。
如果任何人都可以指出我正确的方向,我将不胜感激。
我使用php
来开发我的网站,我需要能够浏览并上传Excel
工作表。然后我需要将这些信息存储在SQL
数据库中。通过网站将Excel工作表数据上传到SQL数据库中
我意识到这是一个相对悬而未决的问题,但我已经找到了关于如何做到这一点的信息,并没有太多的了解。将数据存储在SQL数据库中很好,但我不确定如何上传电子表格以便网站可以读取它。
如果任何人都可以指出我正确的方向,我将不胜感激。
这个问题包含了很多的话题,我会尝试为了解决您手头的问题,需要注意什么是简短的总结。
(1)文件上传
首先,你必须做的一个上传可用。基本上你至少有两个组件。
实施例的HTML代码:
<form action="your_upload_script.php" method="post" enctype="multipart/form-data">
Your XLS file: <input type="file" name="xlsfile" size="50" />
<input type="submit" name="submit" value="Submit" />
</form>
一个简单的,但固体例如PHP代码可以发现here。
请记住,上传文件可能会有更多的问题,p.e.规范的上传大小等。
(2)解析Excel文件
现在你的文件上传,你必须分析它。我推荐使用PHPExcel,这是...
...为PHP编程 语言提供一组类别的项目,它允许您写入和读取不同的 电子表格文件格式,如Excel(BIFF).xls,Excel 2007 (OfficeOpenXML).xlsx,CSV,Libre/OpenOffice计算器的.ods,Gnumeric的,PDF,HTML ...
(3)存储在你的表
值虽然或分析电子表格后,你最终不得不将其存储在你的桌子。不管你做什么,请不要在php中使用旧的mysql连接器,因为这个连接已经过时并且不推荐使用。改为使用mysqli或PDO。
再一次,这只是一个小故事。你最终会遇到更多的挑战和问题。
非常有帮助 - 谢谢 – RGriffiths
首先,您的Excel文件必须是CSV格式,否则在数据库中插入数据会很困难(例如您必须使用PhpExcel解析数据)。
如果您的Excel文件是CSV文件,那么您必须使用LOAD DATA INFILE。
这里你可以看到一个例子:https://stackoverflow.com/a/10897669/1788704
非常有帮助 - 谢谢。 – RGriffiths
则可以将文件导出为CSV,上传与fgetcsv()
解析它。从PHP manual:
$row = 1;
if (($fh = fopen("excel.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
$row++;
for ($c=0; $c < $num; $c++) {
//make query and insert into database
}
}
fclose($handle);
}
谢谢。非常有用 - 将阅读此。 – RGriffiths
因此,用于读取Excel文件的数十种PHP库(例如[PHPExcel](https://github.com/PHPOffice/PHPExcel))或者将其转换为CSV并使用MySQL的'LOAD DATA INFILE'选项 - 你决定使用哪一个?你有什么问题吗? –
非常好 - 谢谢。将通过此看。 – RGriffiths