php动态导出Excel大文件
程序员文章站
2022-05-21 20:05:38
...
初级excel文件下载方式。 1.解决excel行数过多下载失败问题。 2.解决中文文件名在ie下下载乱码问题。 无 ?php/** * 生成excel文件操作 * * @author wesley wu * @date 2013.12.9 */class Excel{private $limit = 10000;public function download($fileName, $
初级excel文件下载方式。
1.解决excel行数过多下载失败问题。
2.解决中文文件名在ie下下载乱码问题。
_charset($fileName); header("Content-Type: application/vnd.ms-excel; charset=gbk"); header("Content-Disposition: inline; filename=\"" . $fileName . ".xls\""); echo "\n"; echo "\n "; } private function _addRow($row) { $cells = ""; foreach ($row as $k => $v) { $cells .= "\n \n\n"; $guard = 0; foreach($data as $v) { $guard++; if($guard==$this->limit) { ob_flush(); flush(); $guard = 0; } echo $this->_addRow($this->_charset($v)); } echo "
\n" . $v . " | \n"; } return "\n" . $cells . "
\n"; } private function _charset($data) { if(!$data) { return false; } if(is_array($data)) { foreach($data as $k=>$v) { $data[$k] = $this->_charset($v); } return $data; } return iconv('utf-8', 'gbk', $data); } } $excel = new Excel(); $data = array( array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'), array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'), array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'), array('数据1','数据2','数据3','数据4','数据5','数据6','数据7'), array('数据1','数据2','数据3','数据4','数据5','数据6','数据7') ); $excel->download('这是一个测试', $data); ?>