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

安平网站建设优化大师班级优化大师

安平网站建设,优化大师班级优化大师,域名空间网站怎么做,免费网站app使用排名很多开发语言都能找到excel文档读写的库,但是在资源极其受限的环境下开发,引入这些库会带来兼容性问题。因为一个小功能引入一堆库,我始终觉得划不来。看到有项目引用的jar包有一百多个,看着头麻,根本搞不清谁依赖谁。…

很多开发语言都能找到excel文档读写的库,但是在资源极其受限的环境下开发,引入这些库会带来兼容性问题。因为一个小功能引入一堆库,我始终觉得划不来。看到有项目引用的jar包有一百多个,看着头麻,根本搞不清谁依赖谁。你会说用maven、gradle来解决,但是我极不喜欢,比如在java与安卓都要支持的情况,就要碰到麻烦了。

通过分析excel文档格式,自己用模板生成,就不会碰到这类问题。xlsx格式是开放的,xml形式的,应该也会稳定很长时间。下面介绍一下分析的结果,实现方法类似于我前面写的关于docx文件的输出操作。java中可以使用freemarker、js等动态的方法替换模板,其他语言应该有类似的工具。java中用到的工具只有zip(开发语言自带),js(jdk11自带或用quickjs)或freemarker,连接如下:

java中,怎样用最简单方法实现写word文档_java 写word-CSDN博客

xls文档格式介绍,看这篇文档OOXML:详解Excel工作表(worksheet) - 知乎 (zhihu.com)

xlsx文档本质也是一个zip文件,将扩展名改成zip,然后解压,目录如下,主要内容都在xl子目录中:

worksheets目录下有各个sheet的数据,比如sheet1.xml。只要将数据逐行格式化输出到sheet1.xml就行了,输出完成后,再将内容打包成zip,然后将文件扩展名改成xlsx就可以了。

在输出到sheet1.xml时,注意单元的类型不要设置,一旦设置了t="s",<v></v>中的内容就是一个索引值(比如0,1,2,3,5...N),表示字符串是sharedStrings.xml中的第N个字符串。sharedStrings.xml中记录了所有共享的字符串,从前往后,编号分别为0、1、2...。使用sharedStrings.xml能节省一点空间,但是对于freemarker之类的格式库就麻烦了,所以单元格不建议设置t="s",而是在<v></v>之间直接输出内容。

<row r="4" ht="15.75" customHeight="1" spans="1:7">
<c r="A1" s="7"><v>1</v></c>
<c r="B1" s="9" (t="s"不可以有)><v>7</v></c>
</row>

提供一个用js输出的sheet1.xml文件,其中的list可以通过自己的一些方法传进来:

var list=[{a:1,b:'1b',c:'test1'},{a:2,b:'2b',c:'test2'}];
var txt=[`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:etc="http://www.wps.cn/officeDocument/2017/etCustomData"><sheetPr/><dimension ref="A1:C2"/><sheetViews><sheetView tabSelected="1" workbookViewId="0"><selection activeCell="C2" sqref="C2"/></sheetView></sheetViews><sheetFormatPr defaultColWidth="9" defaultRowHeight="14.4" outlineLevelRow="1" outlineLevelCol="2"/>
<sheetData>
<row r="1" spans="1:3"><c r="A1" t="s"><v>0</v></c><c r="B1" t="s"><v>1</v></c><c r="C1" t="s"><v>2</v></c></row>`];
var i=2;
for(var l of list) {txt.push(`<row r="`,i,`" spans="1:3"><c r="A"`,i,`><v>`,l.a,`</v></c><c r="B`,i,`"><v>`,l.b,`</v></c><c r="C`,i,`"><v>`,l.c,`</v></c></row>`);i++;
}
txt.push(`</sheetData><pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
<pageSetup paperSize="9" orientation="portrait"/><headerFooter/></worksheet>`);
txt.join('');

zip打包后,再用excel打开,就是下面这样。

http://www.hkea.cn/news/61390/

相关文章:

  • 自己怎么做百度网站广州seo网站公司
  • 京东企业的电子网站建设百度seo教程网
  • 弥勒网站设计公司share群组链接分享
  • 网站建设栏目管理百度推广搜索排名
  • 企业管理类的网站全球搜是什么公司
  • 网站开发自我介绍seo报告
  • 网站应用软件设计海口seo网络公司
  • 武汉站建设深圳网站开发制作
  • 网站建设的平台分析北京seo技术
  • 手表价格网站百度推广天津总代理
  • 如何将域名和网站绑定排名seo怎么样
  • 旅游网站推广方案色盲测试图
  • 现在开发个网站多少钱安全优化大师
  • 网站开发工程师工资多少百度统计工具
  • 征信报告优化大师好用吗
  • 一个ip地址做多个网站网络营销公司是做什么的
  • 赤峰网站建设公司旅行网站排名
  • seo网站优化工具软件拉新推广平台
  • 政府网站设计方案无锡网站制作优化
  • 社交网站盈利吗如何在各种网站投放广告
  • 建设工程合同民法典东莞快速优化排名
  • 泗县口碑营销互联网营销推荐咨询青岛seo计费
  • 做电影网站用什么服务器中文域名注册官网入口
  • 做网站那里好win10系统优化工具
  • 做外贸上哪些网站找客户口碑营销的概念是什么
  • 外贸建站magento百度地图推广
  • 做网站和管理系统全网热度指数
  • 网站的压力测试怎么做网络营销的目的是什么
  • 网站建设如何更加稳定seo优化前景
  • 网站速度诊断 慢seo chinaz