注意,这个只是基本可以实现,基本针对中文电子报表。

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文件适合列宽实现相关推荐

  1. PowerDesigner16.5汉化破解版安装教程(含安装文件、汉化包、破解文件)

    一.软件安装 1.下载安装包(包含安装文件.汉化包.破解文件),下载链接在文章最后,失效请留言 2.下载后文件内容如下 3.进入安装文件中双击安装文件等待初始化完成后选择next 4.继续下一步 5. ...

  2. Java服务端向客户端写文件_java实现客户端向服务器发送文件

    本文实例为大家分享了java实现客户端向服务器发送文件的具体代码,供大家参考,具体内容如下 服务器源代码: import java.io.BufferedReader; import java.io. ...

  3. java读取excel2010文件_java的poi技术读取Excel[2003-2007,2010]

    这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 你也可以在 : 下面是本文的项目结构: ...

  4. java在linux创建文件_Java中创建并写文件的5种方式

    导读 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下 ...

  5. java导入excel数据_java使用POI批量导入excel数据的方法

    一.定义 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二.所需jar包: 三.简单的一个读取e ...

  6. java解压两层zip文件_Java解压缩zip - 解压缩多个文件或文件夹实例

    java解压缩zip - 多个文件(包括文件夹),具体如下: 对多个文件和文件夹进行压缩,对复杂的文件目录进行解压. 压缩方法使用的是可变参数,可以压缩1到多个文件..可以写数组的方式或者一个个写到参 ...

  7. java输出流输入流的使用_Java中的IO流之文件输入输出流

    Java中的IO流之文件输入输出流 1.文件流介绍 文件流是以字节为单位进行读写文件的,所以属于字节流,并且是低级流.文件流位于java.io包下. 输入输出流分别是FileInputSteam和Fi ...

  8. java 输入流可以合并吗_Java 使用IO流实现大文件的分割与合并实例详解

    java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时 ...

  9. java编译找不到文件_java报错找不到文件解决方法

    刚开始编写java代码时,肯定会遇到各种各样的bug,当然对于初学者这也是能理解的,首先来说一个比较常见的错误,如下: 一般编写新的程序时,都是从Hello,World开始的,比如在DOS上运行jav ...

最新文章

  1. Controller 层实现
  2. mysql 8.14 rpm安装_centos8 安装 mysql8
  3. mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?
  4. 感悟:微博深度学习平台架构和实践
  5. 模拟实现顺序表ArrayList2(三级)
  6. [css] 如何使用CSS绘制一个汉堡式菜单
  7. 第十四:Pytest进阶之html测试报告
  8. 干货 | 一文轻松了解NLP所有相关任务简介!
  9. Python-selenium:鼠标键盘事件
  10. 2021年中国直播电商投融资情况及行业发展中存在的问题、发展趋势和对策分析[图]
  11. 打开软件后跳出服务器正在运行中,win10系统打开软件提示“服务器正在运行中”的操作步骤...
  12. Arduino传感器实验清单
  13. 问答社区php源码,cpf开源SNS问答社区源码 php版 v0.7.1
  14. Websphere 学习(二)
  15. Java List的安全删除
  16. Nexus 5刷阿里云OS
  17. mysqloffset什么意思_重新认识Mysql的LIMIT OFFSET
  18. 【翻译】 XDP的力量
  19. SpringBoot——SpringBoot集成jsp
  20. 走近Ts,用了爽,用后一直爽(一)

热门文章

  1. 0906期特别策划——“架构师大阅兵”
  2. 服务器如何预防入侵问题
  3. Nginx白名单设置
  4. c语言乘积imnl,2017年计算机二级C语言考前必做试题及答案2
  5. 上传也能赚钱,大学生兼职操作颇丰,月入过万
  6. 春季舞蹈比赛1 c++
  7. MFC视频播放器制作(OpenCV)
  8. python实现SVG文件解析
  9. SpringBoot---Eureka
  10. vue调用电脑端摄像头实时拍照