java jxl 写 excel文件_Java使用jxl包写Excel文件适合列宽实现
注意,这个只是基本可以实现,基本针对中文电子报表。
1.实现思路
(1)一般的中文汉字占位长度是英文字母的2倍,“方块字”很统一。
(2)对于要写入Excel中的数据统计每一列的最大列宽,最后直接将这一列的列宽设置为这个列的最大值即可。
2.实现代码
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;
//中文名public class ExcelBestColumn{ public static void main(String argus[]) throws Exception{ //构造数据,有两行 List row1=new ArrayList(); row1.add("最合适列宽"); row1.add("这个基本可以实现"); List row2=new ArrayList(); row2.add("Best Column Width"); row2.add("Haha"); List list=new ArrayList(); list.add(row1); list.add(row2); //写数据到Excel中 WritableWorkbook book= Workbook.createWorkbook(new File("t.xls")); WritableSheet sheet=book.createSheet("测试",0); writeDataToSheet(sheet,list); book.write(); book.close(); } public static void writeDataToSheet(WritableSheet sheet,List> list) throws Exception{ int columnBestWidth[]=new int[list.get(0).size()]; //保存最佳列宽数据的数组 for(int i=0;i row=list.get(i); for(int j=0;j
3.只是实现而已
(1)这个是一次项目中写的,自动导数Excel电子报表,可以很好实现。主要是:汉字,阿拉伯数字。
(2)汉字是方块字,每个字的大小很统一,可以很惊奇的统计列宽。
(3)英文小写字母共26个,每个字母的大小差异很小,也可以实现最佳列宽。
(4)其他字符,每个字符的占位大小差异不定,比如大小字母序列“IIIIIII”和字母“DDDDDDD”。
总之,jxl.jar没有自动实现最适合列宽的方法;如果要导出的电子报表中汉字占绝大多数,就能很好的用这个程序实现最适合列宽。
java jxl 写 excel文件_Java使用jxl包写Excel文件适合列宽实现相关推荐
- PowerDesigner16.5汉化破解版安装教程(含安装文件、汉化包、破解文件)
一.软件安装 1.下载安装包(包含安装文件.汉化包.破解文件),下载链接在文章最后,失效请留言 2.下载后文件内容如下 3.进入安装文件中双击安装文件等待初始化完成后选择next 4.继续下一步 5. ...
- Java服务端向客户端写文件_java实现客户端向服务器发送文件
本文实例为大家分享了java实现客户端向服务器发送文件的具体代码,供大家参考,具体内容如下 服务器源代码: import java.io.BufferedReader; import java.io. ...
- java读取excel2010文件_java的poi技术读取Excel[2003-2007,2010]
这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 你也可以在 : 下面是本文的项目结构: ...
- java在linux创建文件_Java中创建并写文件的5种方式
导读 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下 ...
- java导入excel数据_java使用POI批量导入excel数据的方法
一.定义 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二.所需jar包: 三.简单的一个读取e ...
- java解压两层zip文件_Java解压缩zip - 解压缩多个文件或文件夹实例
java解压缩zip - 多个文件(包括文件夹),具体如下: 对多个文件和文件夹进行压缩,对复杂的文件目录进行解压. 压缩方法使用的是可变参数,可以压缩1到多个文件..可以写数组的方式或者一个个写到参 ...
- java输出流输入流的使用_Java中的IO流之文件输入输出流
Java中的IO流之文件输入输出流 1.文件流介绍 文件流是以字节为单位进行读写文件的,所以属于字节流,并且是低级流.文件流位于java.io包下. 输入输出流分别是FileInputSteam和Fi ...
- java 输入流可以合并吗_Java 使用IO流实现大文件的分割与合并实例详解
java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时 ...
- java编译找不到文件_java报错找不到文件解决方法
刚开始编写java代码时,肯定会遇到各种各样的bug,当然对于初学者这也是能理解的,首先来说一个比较常见的错误,如下: 一般编写新的程序时,都是从Hello,World开始的,比如在DOS上运行jav ...
最新文章
- Controller 层实现
- mysql 8.14 rpm安装_centos8 安装 mysql8
- mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?
- 感悟:微博深度学习平台架构和实践
- 模拟实现顺序表ArrayList2(三级)
- [css] 如何使用CSS绘制一个汉堡式菜单
- 第十四:Pytest进阶之html测试报告
- 干货 | 一文轻松了解NLP所有相关任务简介!
- Python-selenium:鼠标键盘事件
- 2021年中国直播电商投融资情况及行业发展中存在的问题、发展趋势和对策分析[图]
- 打开软件后跳出服务器正在运行中,win10系统打开软件提示“服务器正在运行中”的操作步骤...
- Arduino传感器实验清单
- 问答社区php源码,cpf开源SNS问答社区源码 php版 v0.7.1
- Websphere 学习(二)
- Java List的安全删除
- Nexus 5刷阿里云OS
- mysqloffset什么意思_重新认识Mysql的LIMIT OFFSET
- 【翻译】 XDP的力量
- SpringBoot——SpringBoot集成jsp
- 走近Ts,用了爽,用后一直爽(一)