我正在尝试将MySQL数据保存到Excel文件,但是Excel单元格出现问题。我所有的文本都放在一个单元格中,我希望每个行值都在单独的Excel单元格中。这是我的代码:
$queryexport = ("
SELECT username,password,fullname FROM ecustomer_users
WHERE fk_customer='".$fk_customer."'
");
$row = mysql_fetch_assoc($queryexport);
$result = mysql_query($queryexport);
$header = '';
for ($i = 0; $i < $count; $i++){
$header .= mysql_field_name($result, $i)."\t";
}
while($row = mysql_fetch_row($result)){
$line = '';
foreach($row as $value){
if(!isset($value) || $value == ""){
$value = "\t";
}else{
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
$data = str_replace("\r", "", $data);
if ($data == "") {
$data = "\nno matching records found\n";
}
}
header("Content-type: application/vnd.ms-excel; name='excel'");
header("Content-Disposition: attachment; filename=exportfile.xls");
header("Pragma: no-cache");
header("Expires: 0");
// output data
echo $header."\n".$data;
mysql_close($conn);`
尝试以下方法:
PHP部分:
<?php
/*******EDIT LINES 3-8*******/
$DB_Server = "localhost"; //MySQL Server
$DB_Username = "username"; //MySQL Username
$DB_Password = "password"; //MySQL Password
$DB_DBName = "databasename"; //MySQL Database Name
$DB_TBLName = "tablename"; //MySQL Table Name
$filename = "excelfilename"; //File Name
/*******YOU DO NOT NEED TO EDIT ANYTHING BELOW THIS LINE*******/
//create MySQL connection
$sql = "Select * from $DB_TBLName";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno());
//select database
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno());
//execute query
$result = @mysql_query($sql,$Connect) or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());
$file_ending = "xls";
//header info for browser
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$filename.xls");
header("Pragma: no-cache");
header("Expires: 0");
/*******Start of Formatting for Excel*******/
//define separator (defines columns in excel & tabs in word)
$sep = "\t"; //tabbed character
//start of printing column names as names of MySQL fields
for ($i = 0; $i < mysql_num_fields($result); $i++) {
echo mysql_field_name($result,$i) . "\t";
}
print("\n");
//end of printing column names
//start while loop to get data
while($row = mysql_fetch_row($result))
{
$schema_insert = "";
for($j=0; $j<mysql_num_fields($result);$j++)
{
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
elseif ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
$schema_insert .= "\t";
print(trim($schema_insert));
print "\n";
}
?>
我认为这可以帮助您解决问题。
问题内容: 我想通过php将MYSQL数据导出到Excel / CSV。这样我以后可以使用我的数据库,或者有人可以使用和理解它。 问题答案: 我想这就是你要找的 您可以通过检查以下地址来创建自己的文件:http : //www.programmingfacts.com/export-mysql-data-into- excelcsv-via-php/ 我不能在这里添加工作代码,这是错误的= / 但
问题内容: 我有不同表的myssql数据库。表之间的数据已链接,我使用userid检索并显示它们。我使用了PHP MYSQLi 的引用显示数据库中的所有表 但是,如何将这些信息导出为csv文件?我试过而不是用echo将其更改为字符串,然后将字符串打印到csv文件中,但无法正常工作。 我也尝试过以下示例:http : //sudobash.net/php-export-mysql-query-to-
我在系统中安装了hadoop 2.7.1和sqoop 1.4.6。我正在尝试将一个表从MySQL导入到HDFS。我收到以下错误:
通过对数据表的导入导出,可以实现 MySQL 数据库服务器与其它数据库服务器间移动数据。导出是指将 MySQL 数据表的数据复制到文本文件。数据导出的方式有多种,本节主要介绍使用 SELECTI...INTO OUTFILE 语句导出数据。 在 MySQL 中,可以使用 SELECTI...INTO OUTFILE 语句将表的内容导出成一个文本文件。SELECT...INTO OUTFILE 语句
问题内容: 尝试从CSV导入数据时遇到了一些问题,但还有一些问题,我还没有解决。 首先,这是我的代码,可以帮助您更好地了解事物(将其整理一些,删除CSS和DB连接): 从本质上讲,这是我对各种方法进行多次尝试后发现的示例的改编。 我的CSV有两列数据,第一列是文本,第二列是整数数据库中的表也有两列,第一列称为“文本”,第二列为“数字” 所以我的问题是: 正在上传的文本只是在每个字段中显示为0,我不
问题内容: 我有一个表,其中的图像数据存储在MySQL数据库的blob字段中。有没有一种方法可以仅使用SQL将这些图像导出到文件系统上的文件?图片应命名为{imageId} .jpg 我知道用Java或其他方法很容易做到这一点,但是仅用SQL脚本就能做到吗? 问题答案: 我不喜欢这个主意… 尽管有错误