`

一种最好用的php生成excel的代码 适用于windows和linux

阅读更多

原文链接 http://hi.baidu.com/viwovi/blog/item/710e5b370f52d4380b55a9ff.html

<?php

function xlsBOF() {
 echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
 return;
}
function xlsEOF() {
 echo pack("ss", 0x0A, 0x00);
 return;
}
function format( $STR ){
 $STR = str_replace( "\"", "", $STR );
 if ( strpos( $STR, "," ) ){
  $STR = "\"".$STR."\"";
 }
 $STR = iconv( "utf-8", "gb2312", $STR );
 return $STR;
}
function xlsWriteNumber($Row, $Col, $Value) {
 echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
 echo pack("d", $Value);
 return;
}
function xlsWriteLabel($Row, $Col, $Value ) {
 $L = strlen($Value);
 echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
 echo $Value;
 return;
}
function write_excel_line($hang,$lie,$val){
 if(is_numeric($val)){
  xlsWriteNumber($hang,$lie,$val);
 }else{
  xlsWriteLabel($hang,$lie,$val);
 }
}
$mktime = mktime();
header('Content-Type: text/html; charset=utf-8');
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=$mktime.xls ");
header("Content-Transfer-Encoding: binary ");
// XLS Data Cell
xlsBOF();
xlsWriteLabel(0, 0, format('单元格A1'));
xlsWriteLabel(0, 1, format('单元格B1'));
xlsWriteLabel(0, 2, format('单元格C1'));
write_excel_line(1, 0, 'A2');
write_excel_line(1, 1, 'B2');
write_excel_line(1, 2, 'C2');
write_excel_line(2, 0, 'A3');
write_excel_line(2, 1, 'B3');
write_excel_line(2, 2, 'C3');
write_excel_line(3 , 0, '40');
write_excel_line(3 , 1, '41');
write_excel_line(3 , 2, '42');
xlsEOF();
exit();
?>

加入了编码转换,解决了中文乱码问题,和写入时的判断。(代码文件存为utf-8)

这种不用借助类库,是一种非常轻巧的实现办法。。

 

分享到:
评论

相关推荐

    纯C++方式生成复杂格式的excel文件(linux下可运行)

    使用VC/C++生成excel的方式有很多,但是绝大部分要么是简单的csv文件,要么需要COM并已经安装ms excel,局限性比较大。 我这里提供一种使用C++编写以html脚本的方式生成xls文件的方法。不使用任何非C++标准库,支持...

    超简单的XmlExcelExport-生成Excel

    综上所述,"超简单的XmlExcelExport-生成Excel"是一个关注于使用XML数据生成Excel文件的工具或库,可能包括开源代码供开发者学习和使用。不过,提供的信息中并未包含具体实现细节,而"LINUX内核完全注释.pdf"则提供...

    数据替换Excel模板变量生成Excel数据

    在IT行业中,Excel作为一种强大的电子表格工具,广泛用于数据分析、报告制作和自动化任务。当我们需要批量生成基于模板的Excel文件时,"数据替换Excel模板变量生成Excel数据"的方法显得尤为重要。这种方法通常涉及到...

    html/word/doc导出windows/linux

    - **适用性**: 是跨平台的好选择,适用于Windows和Linux。 ### Word文档操作方案分析 #### 问题概述 目前,大多数Java库无法直接编辑现有Word文档。除了JACOB外,其他库如Apache POI和iText都无法直接打开并修改已...

    oracle导出数据生成excel

    首先,Oracle提供了一种名为SQL*Plus的命令行工具,它是与数据库交互的接口。通过SQL*Plus,我们可以执行SQL查询并将其结果输出到各种格式,包括CSV(逗号分隔值),这种格式可以轻松地被Excel识别和打开。 1. **...

    Java实现word、excel转pdf、html

    在Java中,Jacob提供了一种方式来调用Office的自动化功能,例如打开、编辑和保存Word和Excel文件。要使用Jacob,你需要将其解压并添加到你的项目类路径中。 以下是一个简单的示例,展示了如何使用Jacob将Word文档...

    关于使用Jxl生成Excel并打印的经验总结.pdf

    在Web开发中,Jxl库提供了一种方便的方式来生成标准的Excel文件,可以替代JavaScript的打印或封闭式套打插件。由于Excel具有丰富的内置功能和样式,因此能满足大多数用户的需求。Jxl库易于上手,特别适合那些对打印...

    开源的excel读取库libxls在windows下的使用全套

    总之,libxls作为一款开源的Excel读取库,为开发者提供了一种高效、便捷的方式,来处理Excel数据。在Windows环境下,无论是32位还是64位系统,都能轻松地集成和使用libxls,实现各种功能。通过不断学习和实践,你...

    在PHP中操作Excel实例代码

    在讨论在PHP中操作Excel的实例代码前,首先需要了解在PHP中操作Excel文件的几种方式。常用的方法主要有三种,分别是使用COM组件、使用PHPExcel库以及通过Office Web组件。 当使用COM组件操作Excel时,PHP能够通过...

    基于QT的简单excel源代码 spreadsheet.rar

    QT框架是一种广泛应用于桌面应用开发的C++库,它提供了丰富的功能,包括图形用户界面、网络通信、数据库连接等。在本项目"基于QT的简单excel源代码 spreadsheet"中,开发者利用QT的强大功能来实现了一个简易版的...

    word和excel转html

    总结,将Word和Excel转换为HTML是一种常见的需求,可以通过内置功能、在线工具或编程方式来实现。转换后,注意对HTML的优化,包括图片压缩、样式简化以及兼容性测试,以确保在各种环境下都能良好展示。

    excel2lua工具

    总结来说,Excel2Lua工具为游戏开发者提供了一种高效的数据管理解决方案,它连接了Excel的便利性和Lua的灵活性,使得数据的创建、编辑和在游戏中的应用变得更加简单。掌握这款工具的使用,对于提升开发效率,优化...

    JAVA动态生成word和pdf.doc

    JAVA动态生成Word和PDF是JAVA开发中的一种常见需求,这里将详细介绍JAVA动态生成Word和PDF的几种方案。 生成Word 1. Jacob方案:Jacob是Java-COM Bridge的缩写,在Java与微软的COM组件之间构建了一座桥梁。使用...

    golang实现的文件去重小工具,有git提交历史、注释、windows,linux可执行文件。

    最后,关于Windows到Linux的交叉编译,Golang的`go build`命令支持指定目标平台,例如`GOOS=linux GOARCH=amd64 go build`将生成适用于Linux x86_64架构的可执行文件。这在项目部署时非常实用,特别是在云服务器或...

    C++操作word和excel所需类型库文件

    总的来说,C++通过COM接口操作Word和Excel是一种常见且灵活的方法,但需要注意的是,这需要在运行时安装了相应的Office组件,并且需要处理好错误处理和资源释放,以确保程序的稳定性和可靠性。同时,这种方式对于跨...

    generate_excel.zip

    generate_excel.vcproj为在vs2005下的工程文件,如果需要在vc6或Linux等其他编译环境下使用只需新建工程将.h文件和.cpp文件导入即可编译。 如果需要在vs2015以上版本的编译环境下使用,只需对其中一个头文件中的宏...

    lua 操作excel 表格

    在IT行业中,Lua是一种轻量级的脚本语言,它被广泛用于游戏开发、嵌入式系统以及自动化任务。在给定的场景中,我们关注的是如何使用Lua来操作Excel表格,这通常涉及到数据的读取和转换。下面将详细阐述这个主题。 ...

    qt下第三方xlsx保存代码库,跨win和linux平台

    标题提到的"qt下第三方xlsx保存代码库,跨win和linux平台"是指一个适用于Qt的库,能够帮助开发者在Windows和Linux操作系统上读写XLSX文件。这个库很可能就是`Qtxlsx`,一个轻量级且跨平台的解决方案。 `Qtxlsx`是Qt...

    整理C++实现excel和wps表格读写

    在IT领域,C++是一种强大的编程语言,常用于开发高效且复杂的系统,包括与数据处理相关的应用程序。在本主题中,我们将深入探讨如何在MFC(Microsoft Foundation Classes)框架下利用C++实现对Excel和WPS表格的读写...

    LR监控windows、linux、UNIX、IBM_AIX

    综上所述,LR是一个跨平台的性能测试和监控工具,对于Windows、Linux、UNIX以及IBM AIX这样的操作系统,它都能提供全面的性能监控解决方案,帮助IT专业人员诊断和优化系统性能,确保关键业务的稳定运行。通过文档和...

Global site tag (gtag.js) - Google Analytics