PHP导出100万数据到excel

PHP导出100万数据到excel,第1张

php导出数据excel有专门的库,当导出少量数据的时候速度很快,但是当数据量大的时候就会存在服务器内存不够之类的。

所以在导出大量数据的时候就应该分页查询数据,避免服务器宕机。正好PHP提供了fputcsv函数可以将数据写入到csv文件中。

这样我们就可以使用PHP对数据进行分页查询,再写入到csv文件中。

下面是我写的一个PHP导出数据到CSV问价的函数,你到时候直接调用就行了

/**

 * 导出CSV文件

 * @param string $fileName 文件名字

 * @param string|array $data 导出数据,csv格式的字符串|数值数组

 * @param string $to_encoding 目标转换编码

 * @param string $from_encoding 当前编码

 */

function exportCSV($fileName = '', $data = '', $to_encoding = 'gb2312', $from_encoding = 'utf-8') {

$fileName = empty($fileName) ? date('YmdHis') : $fileName

// 文件标签

Header("Content-type: application/octet-stream")

header("Content-type: application/vnd.ms-excel charset=$from_encoding")

Header("Content-Disposition: attachment filename=$fileName.csv")

$str = ''

if($data) {

if(is_array($data)) {

foreach ($data as $v) {

if(is_array($v)) {

foreach ($v as $vo) {

$str .= (is_numeric($vo) ? "'".$vo : $vo."").","

}

$str = trim($str, ",")."\r\n"

} else {

$str .= (is_numeric($v) ? "'".$v : $v).","

}

}

$str = trim($str, ",")."\r\n"

} else {

$str = $data

}

}

echo mb_convert_encoding($str, "gb2312", "utf-8")

exit

}

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

将数据库的数据查询到嵌入在PHP中的EXCEL里面.实现多条纪录的修改.

数据库里面有几万条数据,每天要修改几百条,一条一条修改很麻烦,怎样能够,实现上面说的这种功能,然后可以批量修改.

解析:

可以选择一些相关的,然后统一批量改

SQL Server 中直接可以把excel文件加载进来当作表处理。

使用Sql脚本怎么处理都可以了。

其他数据库,那还有写处理excel的代码

你的数据在EXCEL里面,需要用PHP程序去修改它,因为你的机器上有WEB,你希望远程 *** 作,对吗?

其实不难,你在ODBC里面建立一个数据源,指向你的EXCEL文件,PHP写程序用SQL *** 作ODBC数据源是很简单的,例子:

<?PHP

$id=odbc_connect("ODBC数据源名称","用户名","密码")

if ($id!=0){

$max_display_rec=500

$query_str="任意的SQL语句"

$qu=odbc_exec($id,$query_str)

if ($qu) echo "执行 $query_str 成功!"

else echo "执行 $query_str 失败!"

} else echo '数据库连接失败!

觉得你可以做这样一个界面:

一个列表,每行前有一个复选框,让用户选中要修改的记录

点击提交后,将用户所选的内容以文本框的形势显示,如一页不够,可分页。

当用户修改结束后,统一保存


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8011978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存