golang与PHP输出excel示例

本文实例讲述了golang与PHP输出excel的方法。分享给大家供大家参考,具体如下:

以前输入excel的时候utf8总是乱码还是用其他方式把utf8转换为gbk才能显示,呵呵,其实是输出了csv,后来群里的朋友说需要utf8 BOM Excel才能正常识别utf8,今天测试了一下,很爽,比以前省了好几行代码.

golang实现:


代码如下:

package main
import (
    "os"
    "encoding/csv"
)
func main() {
    f, err := os.Create("haha2.xls")
    if err != nil {
        panic(err)
    }
    defer f.Close()
    f.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM
    w := csv.NewWriter(f)
    w.Write([]string{"编号","姓名","年龄"})
    w.Write([]string{"1","张三","23"})
    w.Write([]string{"2","李四","24"})
    w.Write([]string{"3","王五","25"})
    w.Write([]string{"4","赵六","26"})
    w.Flush()
}

php实现:

<?php
$datas = array(
    array(1, "张三", 23),
    array(2, "李四", 24),
    array(3, "王五", 25),
    array(4, "赵六", 26),
);
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=".date('YmdHis').".xls");
$fp = fopen('php://output', 'w');
fwrite($fp, "\xEF\xBB\xBF");
$head = array("编号", "姓名", "年龄");
fputcsv($fp, $head);
foreach ($datas as $r) {
  fputcsv($fp, $r);
}
fclose($fp);

希望本文所述对大家Go语言程序设计有所帮助。

(0)

相关推荐

  • Golang读写Excel的方法教程

    介绍 Excelize 是 Golang 编写的一个用来操作 Office Excel 文档类库,基于微软的 Office OpenXML 标准.可以使用它来读取.写入 XLSX 文件.相比较其他的开源类库,Excelize 支持写入原本带有图片(表)的文档,还支持向 Excel 中插入图片,并且在保存后不会丢失图表样式. 安装 go get github.com/Luxurioust/excelize 创建 XLSX package main import ( "fmt" "

  • Go语言导出内容到Excel的方法

    本文实例讲述了Go语言导出内容到Excel的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main      import (     "os"     "encoding/csv" )      func main() {     f, err := os.Create("haha2.xls")     if err != nil {         panic(err)     }     defer

  • golang与PHP输出excel示例

    本文实例讲述了golang与PHP输出excel的方法.分享给大家供大家参考,具体如下: 以前输入excel的时候utf8总是乱码还是用其他方式把utf8转换为gbk才能显示,呵呵,其实是输出了csv,后来群里的朋友说需要utf8 BOM Excel才能正常识别utf8,今天测试了一下,很爽,比以前省了好几行代码. golang实现: 复制代码 代码如下: package main import (     "os"     "encoding/csv" ) fun

  • 如何使用Golang创建与读取Excel文件

    目录 摘要 引言 正文 架构 文件对象 数据的表示 数据的解析 实际架构 Excelize 基础库 文件 坐标 样式 单元格操作 数据验证 数据的表示和解析 表示 解析 大规模数据的写入 需要关注的问题 大量枚举值的设置 大工作表的读取 流式写入的注意事项 结语 参考资料 总结 摘要 本文提出一种使用 Golang 进行 Excel 文件创建和读取的方案.首先对问题进行分析,引出方案的基本架构:然后分章节描述了 Excelize 基础库的基本用法,以及 Excel 数据在 Golang 中的表示

  • Golang Cron 定时任务的实现示例

    开门见山写一个 package main import ( "fmt" "github.com/robfig/cron" "log" "strings" "time" ) func CronTask() { log.Println("******** ******* *******") } func CronTest() { log.Println("Starting Cron

  • 基于gin的golang web开发:路由示例详解

    Gin是一个用Golang编写的HTTP网络框架.它的特点是类似于Martini的API,性能更好.在golang web开发领域是一个非常热门的web框架. 启动一个Gin web服务器 使用下面的命令安装Gin go get -u github.com/gin-gonic/gin 在代码里添加依赖 import "github.com/gin-gonic/gin" 快速启动一个Gin服务器的代码如下 package main import "github.com/gin-

  • golang实现浏览器导出excel文件功能

    目录 1.依赖包 2.示例 3.分析 3.1先根据需求查询需要的list对象 3.2新建文件,设置文件名,跟列名 3.3设置标题单元格 3.4设置内容单元格 3.5流媒体返回web 1.依赖包 import ( "github.com/tealeg/xlsx" ) 2.示例 func (o *orderController) Export(request *restful.Request, response *restful.Response) { username := reques

  • 利用ASP输出excel文件实例讲解

    在asp中利用excel的一个方法是将excel文件作为一个数据库进行链接,然后的操作和对access数据库操作类似.但是这个方法不是总能有用的,应为excel不是关系型的数据库.对于一个固定格式,这个格式里有复杂的单元格合并,边框线条样式,还有图案,单元格之间还有公式关系等等的,我想最容易理解的就是在后台打开一个已有设定好模板的文件,然后在需要的地方插入数据,保存,输出... ... 这里提到的这种方法是直接建立一个excel对象,在后台可以更方便的对excel文档进行各种操作. 服务器端还必

  • JSP动态输出Excel及中文乱码的解决

    最近在网上看到一个用java来操纵excel的open source,在weblogic上试用了一下,觉得很不错,特此向大家推荐一下. 首先去http://www.andykhan.com/jexcelapi/index.html下载最新的JExcelApi,把jxl.jar置于你的classpath中. 写一个javaBean,利用JExcelApi来动态生成excel文档,我这里写一个最简单的,示意性的.复杂的你可能还要查询数据库什么的. //////////////////////////

  • thinkPHP导出csv文件及用表格输出excel的方法

    本文实例讲述了thinkPHP导出csv文件及用表格输出excel的方法.分享给大家供大家参考,具体如下: 1.thinkphp导出csv文件 导出csv文件可能就那几行代码,今天有个问题困扰我好久,就是导出之后出现一些html代码,这个不应该,view里面是空的,controller中最后也没有$this->display(),最后细心看到think_page_trace这样的字样,恍然大悟,是页面的跟踪日志,这个默认是会输出来的.最后在方法后面加了一个exit结束就好了,下面是代码: 1.I

  • GoLang 中的随机数的示例代码

    随机数我们都知道,就是计算机通过某种算法,"随机"的生成一个数字.很多编程语言都有内置的方法来生成随机数,那么 GoLang 中是怎样一种情况呢? 伪随机数 我们都知道"随机数"在现实生活中的概念,可能你随手抛一个硬币,就可以说其结果是随机的,但是在计算机中要确定一个"随机数"真的是"随机数",那可是有标准的,不是你随随便便说是就是. 根据密码学原理,要想对一个"随机数"进行随机性检验有以下几个标准: 统计

  • python实现列表中最大最小值输出的示例

    如下所示: def findMinAndMax(L): maxL = None minL = None if L: maxL = L[0] minL = L[0] for i in range(len(L)): if L[i] > maxL: maxL = L[i] elif L[i] < minL: minL = L[i] else: maxL = None minL = None return (minL, maxL) 测试: # 测试 if findMinAndMax([]) != (N

随机推荐