golang/PHP 출력 엑셀

1871 단어 golang
http://www.dotcoo.com/golang-math-rand
 
 
예전 에 엑셀 을 입력 할 때 utf 8 은 항상 어 지 러 웠 습 니 다.아니면 다른 방식 으로 utf 8 을 gbk 로 바 꿔 야 표시 할 수 있 습 니 다.하하,사실은 csv 를 출력 했 습 니 다.나중에 단체 친구 들 은 utf 8 BOM Excel 이 있어 야 utf 8 을 정상적으로 식별 할 수 있다 고 말 했 습 니 다.오늘 테스트 를 해 보 니 시원 합 니 다.예전 보다 몇 줄 의 코드 를 절약 하 였 습 니 다.후 훗
BOM 정보 참조:
http://zh.wikipedia.org/wiki/%E4%BD%8D%E5%85%83%E7%B5%84%E9%A0%86%E5%BA%8F%E8%A8%98%E8%99%9F
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);

좋은 웹페이지 즐겨찾기