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<String> row1=new ArrayList<String>(); row1.add(" "); row1.add(" ");
List<String> row2=new ArrayList<String>(); 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<String>> list) throws Exception{
int columnBestWidth[]=new int[list.get(0).size()]; //
for(int i=0;i<list.size();i++){
List<String> row=list.get(i);
for(int j=0;j<row.size();j++){
sheet.addCell(new Label(j,i,row.get(j)));
int width=row.get(j).length()+getChineseNum(row.get(j)); /// 2
if(columnBestWidth[j]<width) ///
columnBestWidth[j]=width;
}
}
for(int i=0;i<columnBestWidth.length;i++){ ///
sheet.setColumnView(i, columnBestWidth[i]);
}
}
public static int getChineseNum(String context){ /// context
int lenOfChinese=0;
Pattern p = Pattern.compile("[\u4e00-\u9fa5]"); // Unicode
Matcher m = p.matcher(context);
while(m.find()){
lenOfChinese++;
}
return lenOfChinese;
}
}
3. 단지 실현일 뿐이다. (1) 이것은 한 프로젝트에서 쓴 것으로 자동 도수 엑셀 전자 보고서로 잘 실현될 수 있다.주로 한자, 아라비아 숫자.(2) 한자는 네모난 글자로 각 글자의 크기가 통일되어 놀라운 통계 열폭을 얻을 수 있다.(3) 영문 소문자는 모두 26개로 각 자모의 크기 차이가 적고 최적 열폭을 실현할 수 있다.(4) 다른 문자, 각 문자의 차지 크기 차이, 예를 들어 대소문자 서열 "IIIII"와 자모 "DDDDDDD"등이다.어쨌든, jxl.jar는 열 넓이에 가장 적합한 방법을 자동으로 실현하지 않았습니다.만약 내보내려는 전자 보고서에서 한자가 절대 다수를 차지한다면, 이 프로그램으로 열폭에 가장 적합한 것을 실현할 수 있을 것이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java/Excel에 아래 첨자 및 위 첨자 삽입위 첨자 및 아래 첨자는 기준선 위 또는 아래에 입력되는 소문자 또는 숫자입니다. 일반적으로 각주, 참조, 수학 및 화학 기호에 사용됩니다. 이 기사에서는 Java용 Free Spire.XLS를 사용하여 프로그래밍 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.