Pep*_*pys 5 mysql import excel load
我知道这已经讨论了很多,但我找不到如何做到这一点的解决方案.
我需要的是将excel文件(xls/xlsx)导入我的数据库表.这是一个执行该操作的按钮,执行的命令是这样的:
string cmdText = "LOAD DATA INFILE 'importTest4MoreMore.csv' INTO TABLE management FIELDS TERMINATED BY ',';";
Run Code Online (Sandbox Code Playgroud)
它很棒.但我需要导入excel文件而不是CSV.据我所知,LOAD DATA命令不支持xls所在的二进制文件.那么解决方案是什么?请帮忙
非常感谢
佩皮斯
Mar*_*c B 12
.xls永远不会直接导入MySQL.它是一个复合的OLE文件,这意味着它的内部布局是凡人(甚至比尔盖茨)无法理解的..xlsx基本上只是一个包含多个.xml/xslt/etc的.zip文件.文件.您可以提取包含实际电子表格数据的相关.xml,但同样 - 它不太可能采用MySQL负载infile可直接导入的格式.
最简单的解决方案是将.xls/xlsx导出为.csv.
如何将 'xlsx' 文件导入 MySQL:
1/打开你的“.xlsx”文件Office Excel,然后从菜单中点击“另存为”按钮并选择
'CSV (MS-DOS) (*.csv)'
Run Code Online (Sandbox Code Playgroud)
来自“另存为类型”列表。最后点击“保存”按钮。
2/ 将 .csv 文件复制或上传到您安装的 MySQL 服务器(Linux 服务器中的目录路径如:'/root/someDirectory/')
3/ 登录到您的数据库:
mysql -u root -pSomePassword
Run Code Online (Sandbox Code Playgroud)
4/ 创建和使用目标数据库:
use db1
Run Code Online (Sandbox Code Playgroud)
5/ 在目标数据库(例如“db1”)中创建一个 MySQL 表,其中的列类似于上面的“.csv”文件中的列。
6/执行以下命令:
LOAD DATA INFILE '/root/someDirectory/file1.csv' INTO TABLE `Table1` FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;
Run Code Online (Sandbox Code Playgroud)
请注意,选项“IGNORE 1 LINES”表示 MySQL 忽略“.csv”文件的第一行。因此,它仅适用于具有 1 个标题列的“.xlsx”文件。您可以删除此选项。
| 归档时间: |
|
| 查看次数: |
34885 次 |
| 最近记录: |