一、如何用java读取excel设置的单元格属
poi好像能读取超过128列数据知道我记错了直用jxl网上和官方发布jxl有致命缺陷编码问题需要自己更改代码再重编译jxl包我建议用poi吧般poi编码会有问题 言归正传jxl设计时候颜色等信息直接设计单元格Cell类而通过CellFormat存储各属性 Workbook book = Workbook。
getWorkbook(new File("fileName")); 读取文件Sheet sheet = book。getSheet(0); 获得第工作表Cell c1 = sheet。
getCell(0, 0); 获得第列第行CellFormat cf1=c1。 getCellFormat() ; 得内置对象CellFormatFont fontYour=cf1。
getFont(); 字体Colour colYour=cf1。getBackgroundColour() ; 颜色等等自己研究 我有jxl API 需要 给我发信息吧。
二、jxl读取excel文件
用jxl读取excel的数据,由于excel数据在录入时的各种原因,数据后面都有空格,而且读出来以后(也许是编码原因),数据口面不是出现"?"就是出现一个不知所谓的乱码符,不要考虑用替换,因为替换只有在你的项目编码方式和内存中excel数据编码方式一样的时候才能替换,否则你连保存都会提示编码问题而保存不了。
直接用subSequence(0, cellContent.length()-1) 就可以了 同时提醒一下读取出来的数据时Cell类型的话,直接getContent是可以得到内容的,但具体内容最好依靠下面的方法获Java代码if (cell.getType() == CellType.LABEL) { LabelCell labelCell = (LabelCell) cell; String cellContent = labelCell.getString(); cellContent = (String) cellContent.subSequence(0, cellContent.length()-1); column_contents[cols] = cellContent; } else if (cell.getType() == CellType.NUMBER) { //number的话不用去空格就可以,我测试是这样 NumberCell numberCell = (NumberCell) cell; String cellContent = numberCell.getContents(); column_contents[cols] = cellContent; } else if (cell.getType() == CellType.DATE) { DateCell dateCell = (DateCell) cell; Date dateDemo = dateCell.getDate(); String cellContent = dateDemo.toString(); column_contents[cols] = cellContent; }我之前和朋友交流时朋友给我一段代码,你也可以试一下1 import java.io.File;2 import java.io.FileInputStream;3 4 import jxl.Cell;5 import jxl.Sheet;6 import jxl.Workbook;7 8 9 public class testxls {10 /**11 * 读取xls文件内容12 * @param file 想要读取的文件对象13 * @return 返回文件内容14 */15 public static String xls2String(File file){16 String result = "";17 try{18 FileInputStream fis = new FileInputStream(file); 19 StringBuilder sb = new StringBuilder(); 20 jxl.Workbook rwb = Workbook.getWorkbook(fis); 21 Sheet[] sheet = rwb.getSheets(); 22 for (int i = 0; i < sheet.length;="" i++)="" {="" 23="" sheet="" rs="rwb.getSheet(i);" 24="" for="" (int="" j="0;" j="">< rs.getrows();="" j++)="" {="" 25="" cell[]="" cells="rs.getRow(j);" 26="" for(int="" k="">