php - 导出的 Excel 存储在项目的本地文件夹中
问题描述
我有下载excel文件的代码。我想将此文件保存在文件夹中。
if($array_count > 0)
{
$fileName = "export_data" . rand(1,100) . ".xls";
if ($error_array) {
function filterData(&$str) {
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
// headers for download
header("Content-Disposition: attachment; filename=\"$fileName\"");
header("Content-Type: application/vnd.ms-excel");
$flag = false;
foreach($error_array as $row) {
if(!$flag) {
// display column names as first row
// echo implode("\t", array_keys($row)). "\r\n";;
$flag = true;
}
// filter data
//header_remove('require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php")');
array_walk($row, 'filterData');
echo implode("\t", array_values($row)). "\r\n"; ;
}
//exit;
}
}
请有人帮我更改代码以将文件保存在文件夹中。
解决方案
在这里,我使用静态数组数据为您制作了一个示例。我们可以将文件保存在文件夹中。
您可以根据需要更改此代码。
<?php
$data_array = array (
array ('1','2'),
array ('2','2'),
array ('3','6'),
array ('4','2'),
array ('6','5')
);
$sep = "\t";
$xls = "col1".$sep."col2 \n";//Column headers
foreach ($data_array as $record){
$xls.= $record[0].$sep.$record[1]."\n"; //Append data to xls
}
$xls_handler = fopen ('xlsfile.xls','w');
fwrite ($xls_handler,$xls);
fclose ($xls_handler);
echo 'Data saved to xlsfile.xls';
?>
推荐阅读
- google-chrome - 在工作计算机上安装 Chrome 扩展程序
- html - 使用 css 和 html 绘制带有五边形的框图
- batch-file - 批处理文件以计算 .zip 文件中的文件
- mysql - Icinga2 没有写入 IDO 的 icinga 实例
- angular - 服务内部的角负载外部类
- angularjs - 无法直接使用浏览器 url 路由我该怎么办?
- java - 当我运行功能文件并收到错误时,我已经设置了所有基本插件和驱动程序
- javascript - EaselJS:将形状拉伸到特定的一侧
- android - 如何在 android 活动测试中模拟 koin 注入的 bean 并捕获作为该模拟参数给出的 lambda?
- forms - Drupal,hook_form_alter 在节点编辑/创建中添加字段