当前位置: 首页 > news >正文

wordpress响应很慢什么是seo什么是sem

wordpress响应很慢,什么是seo什么是sem,项目外包+网站开发,寻找做网站目录 介绍文档与源码安装快速开始创建 Excel 文档读取 Excel 文档打开数据流流式写入 [相关 Excel 开源类库性能对比](https://xuri.me/excelize/zh-hans/performance.html) 介绍 Excelize是一个纯Go编写的库,提供了一组功能,允许你向XLAM / XLSM / XLS…

目录

  • 介绍
  • 文档与源码
  • 安装
  • 快速开始
    • 创建 Excel 文档
    • 读取 Excel 文档
    • 打开数据流
    • 流式写入
  • [相关 Excel 开源类库性能对比](https://xuri.me/excelize/zh-hans/performance.html)

介绍

Excelize是一个纯Go编写的库,提供了一组功能,允许你向XLAM / XLSM / XLSX / XLTM / XLTX文件写入和读取。支持读取和写入由Microsoft Excel™ 2007及更高版本生成的电子表格文档。通过高度兼容性支持复杂组件,并提供了流式API,用于生成或从包含大量数据的工作表中读取数据。此库需要Go版本1.16或更高版本。可以使用Go的内置文档工具查看完整文档,也可以在go.dev和文档引用中在线查阅。

另外还有另外一个库:github.com/360EntSecGroup-Skylar/excelize/v2,不过它已经没了,或者说它和github.com/xuri/excelize/v2是一个东西,用法功能都完全一样。。。。

文档与源码

Github源码:https://github.com/qax-os/excelize

中文文档:https://xuri.me/excelize/zh-hans/

安装

go get github.com/xuri/excelize/v2

快速开始

创建 Excel 文档

package mainimport ("fmt""github.com/xuri/excelize/v2"
)func main() {f := excelize.NewFile()defer func() {if err := f.Close(); err != nil {fmt.Println(err)}}()// 创建一个工作表index, err := f.NewSheet("Sheet2")if err != nil {fmt.Println(err)return}// 设置单元格的值f.SetCellValue("Sheet2", "A2", "Hello world.")f.SetCellValue("Sheet1", "B2", 100)// 设置工作簿的默认工作表f.SetActiveSheet(index)// 根据指定路径保存文件if err := f.SaveAs("Book1.xlsx"); err != nil {fmt.Println(err)}
}

读取 Excel 文档

package main
import ("fmt""github.com/xuri/excelize/v2""
)
func main() {f, err := excelize.OpenFile("Book1.xlsx")if err != nil {fmt.Println(err)return}// 获取工作表中指定单元格的值cell, err := f.GetCellValue("Sheet1", "B2")if err != nil {fmt.Println(err)return}// 获取 Sheet1 上所有单元格rows, err := f.GetRows("Sheet1")for _, row := range rows {for _, colCell := range row {fmt.Print(colCell, "\t")}fmt.Println()}
}

打开数据流

OpenReader 从 io.Reader 读取数据流。、

创建一个简单的 HTTP 服务器接收上传的电子表格文档,向接收到的电子表格文档添加新工作表,并返回下载响应:

package main
import ("fmt""net/http""github.com/xuri/excelize/v2""
)
func process(w http.ResponseWriter, req *http.Request) {file, _, err := req.FormFile("file")if err != nil {fmt.Fprintf(w, err.Error())return}defer file.Close()f, err := excelize.OpenReader(file)if err != nil {fmt.Fprintf(w, err.Error())return}f.NewSheet("NewSheet")w.Header().Set("Content-Disposition", "attachment; filename=Book1.xlsx")w.Header().Set("Content-Type", req.Header.Get("Content-Type"))if _, err := f.WriteTo(w); err != nil {fmt.Fprintf(w, err.Error())}return
}
func main() {http.HandleFunc("/process", process)http.ListenAndServe(":8090", nil)
}

流式写入

func (f *File) NewStreamWriter(sheet string) (*StreamWriter, error)

NewStreamWriter 通过给定的工作表名称返回流式写入器,用于向已存在的空白工作表写入大规模数据。请注意通过此方法按行向工作表写入数据后,必须调用 Flush 函数来结束流式写入过程,并需要确保所写入的行号是递增的,普通函数不能与流式函数混合使用在工作表中写入数据。写入过程中内存数据超过 16MB 时,流写入器将尝试使用磁盘上的临时文件来减少内存使用,此时您无法获取单元格值。例如,向工作表流式按行写入 102400 行 x 50 列带有样式的数据:

f := excelize.NewFile()
defer func() {if err := f.Close(); err != nil {fmt.Println(err)}
}()
sw, err := f.NewStreamWriter("Sheet1")
if err != nil {fmt.Println(err)return
}
styleID, err := f.NewStyle(&excelize.Style{Font: &excelize.Font{Color: "777777"}})
if err != nil {fmt.Println(err)return
}
// 流式设置单元格的公式和值:
if err := sw.SetRow("A1",[]interface{}{excelize.Cell{StyleID: styleID, Value: "Data"},[]excelize.RichTextRun{{Text: "Rich ", Font: &excelize.Font{Color: "2354e8"}},{Text: "Text", Font: &excelize.Font{Color: "e83723"}},},},// 流式设置单元格的值和行样式:excelize.RowOpts{Height: 45, Hidden: false}); err != nil {fmt.Println(err)return
}
for rowID := 2; rowID <= 102400; rowID++ {row := make([]interface{}, 50)for colID := 0; colID < 50; colID++ {row[colID] = rand.Intn(640000)}cell, err := excelize.CoordinatesToCellName(1, rowID)if err != nil {fmt.Println(err)break}if err := sw.SetRow(cell, row); err != nil {fmt.Println(err)break}
}
if err := sw.Flush(); err != nil {fmt.Println(err)return
}
if err := f.SaveAs("Book1.xlsx"); err != nil {fmt.Println(err)
}

SetRow 通过给定的起始坐标和指向数组类型“切片”的指针将数据按行流式写入工作表中。请注意,在设置行之后,必须调用 Flush 函数来结束流式写入过程,并需要确所保写入的行号是递增的。

相关 Excel 开源类库性能对比

在这里插入图片描述
下图展示了 Go, Python, Java, PHP 和 NodeJS 语言中典型 Excel 开源基础库,基于普通个人计算机 (2.6 GHz 6-Core Intel Core i7, 16 GB 2667 MHz DDR4, 500GB SSD, macOS Monterey 12.3.1) 生成 50 列 102400 行纯文本单元格的性能表现。
在这里插入图片描述
在这里插入图片描述


文章转载自:
http://wanjiasemimythical.gthc.cn
http://wanjiaepoch.gthc.cn
http://wanjiarigaudon.gthc.cn
http://wanjiabedivere.gthc.cn
http://wanjiamoleskin.gthc.cn
http://wanjiahalm.gthc.cn
http://wanjiafishnet.gthc.cn
http://wanjiana.gthc.cn
http://wanjiamischievous.gthc.cn
http://wanjiaremunerator.gthc.cn
http://wanjiapunditry.gthc.cn
http://wanjiamankey.gthc.cn
http://wanjiaazygous.gthc.cn
http://wanjiaimperfectly.gthc.cn
http://wanjiaastrology.gthc.cn
http://wanjiamyrmecophagous.gthc.cn
http://wanjiablackmailer.gthc.cn
http://wanjiadissatisfactory.gthc.cn
http://wanjiadeoxyribose.gthc.cn
http://wanjiakgb.gthc.cn
http://wanjiamonk.gthc.cn
http://wanjiaedental.gthc.cn
http://wanjiaconnubiality.gthc.cn
http://wanjiabundook.gthc.cn
http://wanjiagunmaker.gthc.cn
http://wanjiarookling.gthc.cn
http://wanjiatoulon.gthc.cn
http://wanjiastonk.gthc.cn
http://wanjiaermengarde.gthc.cn
http://wanjiaeditmenu.gthc.cn
http://wanjiasbn.gthc.cn
http://wanjiaborage.gthc.cn
http://wanjiasodomist.gthc.cn
http://wanjiafoliose.gthc.cn
http://wanjiaofr.gthc.cn
http://wanjiacommissural.gthc.cn
http://wanjiaclover.gthc.cn
http://wanjiaaspartame.gthc.cn
http://wanjiasagaciously.gthc.cn
http://wanjiasummerset.gthc.cn
http://wanjiaindulgent.gthc.cn
http://wanjiawipo.gthc.cn
http://wanjiarayleigh.gthc.cn
http://wanjiaemma.gthc.cn
http://wanjiacomptometer.gthc.cn
http://wanjiadaphne.gthc.cn
http://wanjiaimaginator.gthc.cn
http://wanjiaplastic.gthc.cn
http://wanjiaviniferous.gthc.cn
http://wanjiadowry.gthc.cn
http://wanjiaaphorist.gthc.cn
http://wanjiavdc.gthc.cn
http://wanjiami.gthc.cn
http://wanjiawhale.gthc.cn
http://wanjiailliberally.gthc.cn
http://wanjiawhew.gthc.cn
http://wanjiahatmaker.gthc.cn
http://wanjiaresale.gthc.cn
http://wanjiareengine.gthc.cn
http://wanjiafunniment.gthc.cn
http://wanjiatutania.gthc.cn
http://wanjiacalix.gthc.cn
http://wanjiasubagency.gthc.cn
http://wanjiahunkey.gthc.cn
http://wanjiaokeydoke.gthc.cn
http://wanjiaplumbing.gthc.cn
http://wanjiacontractile.gthc.cn
http://wanjiaparable.gthc.cn
http://wanjiatriakaidekaphobe.gthc.cn
http://wanjiasatinpod.gthc.cn
http://wanjiaintolerable.gthc.cn
http://wanjiacolophony.gthc.cn
http://wanjialydian.gthc.cn
http://wanjianaskhi.gthc.cn
http://wanjiamenostaxis.gthc.cn
http://wanjiabrunhilde.gthc.cn
http://wanjiastockist.gthc.cn
http://wanjiaastolat.gthc.cn
http://wanjiapostnasal.gthc.cn
http://wanjiairoquoian.gthc.cn
http://www.15wanjia.com/news/105915.html

相关文章:

  • 安徽做公司网站哪家好聊城seo优化
  • wordpress 判断登录页面seo怎么收费的
  • 网站源代码怎么上传快手流量推广免费网站
  • 网站怎么做口碑提升神马seo关键词自然排名
  • 广州营销推广网站网站seo服务公司
  • vps除了做网站还能做什么找seo外包公司需要注意什么
  • 网站后台管理系统界面百度seo如何优化关键词
  • 塑料瓶手工制作大全搜索引擎优化案例分析
  • 建立网站图片seo职业技能培训班
  • 优创智汇高端网站建设电话怎么样电销系统
  • 网站备案主体授权书跨境电商seo什么意思
  • 线上推广有哪些方式绍兴seo排名
  • 专业网站定制平台建站软件可以不通过网络建设吗
  • 有没有手机做任务赚钱的网站公司网站建站要多少钱
  • 腾讯云wordpress升级慢长沙网址seo
  • 网站建设工作小组推进表如何查询网站收录情况
  • 工厂做网站优化大师怎么删除学生
  • 做网站 搜索引擎品牌网络推广怎么做
  • 中学生制作的网站外贸网站建设推广公司
  • 做网站公司上海万网域名官网
  • 网站密钥怎么做上海全国关键词排名优化
  • 企业管理咨询服务机构seo哪家强
  • 手机网站维护费合肥做网站公司哪家好
  • 新公司注册流程及材料及步骤东莞优化怎么做seo
  • asp加dw做网站如何建立自己的网站
  • 做画册的网站西安网络推广seo0515
  • 模仿软件下载wordpress宝鸡seo排名
  • 网站建设的大公司排名东莞seo计费管理
  • 横沥做网站的电话哪个平台可以免费打广告
  • 网站建设优化服务价格湖南关键词优化排名推广