详细如下:1.使用POI解析读取Excel文档,里面有中文,有数字,大概有20个列,然后解析出来很多地方的最后面有一个问号,但是用问号匹配又不对,所以猜测其是乱码,或者说是不能显示的...
详细如下:
1. 使用POI解析读取Excel文档,里面有中文,有数字,大概有20个列,然后解析出来很多地方的最后面有一个问号,但是用问号匹配又不对,所以猜测其是乱码,或者说是不能显示的代码。
2.部分代码如下:
// 取得单元格
HSSFCell cell = row.getCell(i + startCellNo);
if (null != cell) {
cell.setCellType(Cell.CELL_TYPE_STRING);// 设置为字符串
// 取得字符串值
String value = cell.getStringCellValue();
value = value.replaceAll( "[^\u8140-\ufefe]+ ", " ");//过滤非中文字符,换成gbk的编码范围
value = value.replaceAll( "[^\u4e00-\u9fa5]+ ", " ");//过滤非中文字符,换成gbk的编码范围
value = value.replaceAll("\\?", "");
System.out.println(value.indexOf("?")); // 此处结果打印出来全是 -1
...
// 以上的代码均不能把数据正确显示
// 正常的 "五华区" 显示出来就是"五华区 ?"
// 我采用的方法是针对有问号的列,截取掉最后一个字符
但是这种方法非常不好,因为有的时候是这一列,有的时候是那一列,所有偶尔会多截取了,比如 "五华区"变成"五华"这种情况。
特此请教:
1. 怎么把那个最后的问号去掉,让数据显示正常。
2. 怎么设置Excel文档,让其没有这种乱码或者说符号。
以上两个问题只要回答出来一个,确实可用即可,好像100分式最多的分了。谢谢。
不知道问题里可不可以留下联系方式,我的Email是:551996458#qq.com.可用向我发邮件或者发消息,也可用直接回答,我每天都看的。
展开