Linux Excel与pgSQL
如何将excel工作表中的数据导入linux上的PGSQL数据库?简单的方法是使用Linux Excel与pgSQL,linux,excel,postgresql,Linux,Excel,Postgresql,如何将excel工作表中的数据导入linux上的PGSQL数据库?简单的方法是使用另存为功能将数据从excel导出到CSV。然后使用psql的本机\COPY功能。您可以通过使用命令\?在psql中复制,或访问。简单的方法是使用另存为功能将数据从Excel导出到CSV。然后使用psql的本机\COPY功能。您可以通过使用命令\?在psql中复制,或通过访问。另一个选项(有点变通方法,但应该可以)是将Excel文件导入Access,然后通过ODBC连接将生成的表添加到PostgreSQL中。另一个选
另存为功能将数据从excel导出到CSV。然后使用psql的本机\COPY
功能。您可以通过使用命令\?在psql中复制
,或访问。简单的方法是使用另存为
功能将数据从Excel导出到CSV。然后使用psql的本机\COPY
功能。您可以通过使用命令\?在psql中复制
,或通过访问。另一个选项(有点变通方法,但应该可以)是将Excel文件导入Access,然后通过ODBC连接将生成的表添加到PostgreSQL中。另一个选项(有点变通方法,但应该可以)是将Excel文件导入Access,然后通过ODBC连接将生成的表添加到PostgreSQL中。如果您定期这样做,那么您应该研究-我发现它非常有用。如果您定期这样做,然后你应该研究一下——我发现它非常有用。我一直都在这样做,并使用Navicat[1](大约79美元)。由于linux客户端无法从Excel导入,因此需要一个windows框来运行客户端
您可以导入几乎任何数据格式(Access、Excel、DBF、Lotus…),定义可以保存的源和目标之间的映射
顺便说一句,我不为Navicat工作!只是我尝试了一些DBA客户机,这是迄今为止最适合数据导入的
[1] 我一直这样做,并使用Navicat[1](大约79美元)。由于linux客户端无法从Excel导入,因此需要一个windows框来运行客户端
您可以导入几乎任何数据格式(Access、Excel、DBF、Lotus…),定义可以保存的源和目标之间的映射
顺便说一句,我不为Navicat工作!只是我尝试了一些DBA客户机,这是迄今为止最适合数据导入的
[1] 请尝试以下代码:
<?php
$db = pg_connect("host=localhost port=5432 dbname=your_db user=postgres password=your_paswrd");
//call excel reader
require "excel_reader.php";
//press button
if(isset($_POST['submit'])){
$target = basename($_FILES['fopenl']['name']) ;
move_uploaded_file($_FILES['fopenl']['tmp_name'], $target);
$data = new Spreadsheet_Excel_Reader($_FILES['fopenl']['name'],false);
//count row of excel xls
$baris = $data->rowcount($sheet_index=0);
//empty database before
$drop = isset( $_POST["drop"] ) ? $_POST["drop"] : 0 ;
if($drop == 1){
//empty employee table
$truncate ="TRUNCATE TABLE employee";
pgsql_query($truncate);
};
//import data from xls
for ($i=1; $i<=$baris; $i++)
{
//read from xls
$emp_id = $data->val($i, 1);
$date = $data->val($i, 2);
$id_mac = $data->val ($i, 3);
$val_a = $data->val($i, 4);
$val_b = $data->val($i, 5);
$stat = $data->val($i, 6);
$note = $data->val ($i, 7);
//setelah data dibaca, masukkan ke tabel dari_finger
$query_insert = "INSERT into employee (emp_id,date,id_mac,val_a,val_b,stat,note)values('$emp_id','$date','$id_mac','$val_a','$val_b','$stat','$note')";
//eksekusi query insert
$insert = pg_query($query_insert);
}
if(!$insert){
//jika import gagal
die(pgsql_error());
}else{
//jika impor berhasil
echo " Data imported,";
}
尝试以下代码:
<?php
$db = pg_connect("host=localhost port=5432 dbname=your_db user=postgres password=your_paswrd");
//call excel reader
require "excel_reader.php";
//press button
if(isset($_POST['submit'])){
$target = basename($_FILES['fopenl']['name']) ;
move_uploaded_file($_FILES['fopenl']['tmp_name'], $target);
$data = new Spreadsheet_Excel_Reader($_FILES['fopenl']['name'],false);
//count row of excel xls
$baris = $data->rowcount($sheet_index=0);
//empty database before
$drop = isset( $_POST["drop"] ) ? $_POST["drop"] : 0 ;
if($drop == 1){
//empty employee table
$truncate ="TRUNCATE TABLE employee";
pgsql_query($truncate);
};
//import data from xls
for ($i=1; $i<=$baris; $i++)
{
//read from xls
$emp_id = $data->val($i, 1);
$date = $data->val($i, 2);
$id_mac = $data->val ($i, 3);
$val_a = $data->val($i, 4);
$val_b = $data->val($i, 5);
$stat = $data->val($i, 6);
$note = $data->val ($i, 7);
//setelah data dibaca, masukkan ke tabel dari_finger
$query_insert = "INSERT into employee (emp_id,date,id_mac,val_a,val_b,stat,note)values('$emp_id','$date','$id_mac','$val_a','$val_b','$stat','$note')";
//eksekusi query insert
$insert = pg_query($query_insert);
}
if(!$insert){
//jika import gagal
die(pgsql_error());
}else{
//jika impor berhasil
echo " Data imported,";
}
+1准备好处理格式数据类型问题。+1准备好处理格式数据类型问题。