Java 清理Excel表格(替换文本)
我有一个程序,可以从网站上抓取一张表,并将其放入xls表中。然而,大多数数据必须是数字,一些单元格可能有257,2x、ɁC、KL1等。我无法找到一种简单的方法将多余的字符替换为“”,因为显然Apache POI不允许这样做? 那你建议我怎么做? 提前谢谢Java 清理Excel表格(替换文本),java,excel,apache,apache-poi,xls,Java,Excel,Apache,Apache Poi,Xls,我有一个程序,可以从网站上抓取一张表,并将其放入xls表中。然而,大多数数据必须是数字,一些单元格可能有257,2x、ɁC、KL1等。我无法找到一种简单的方法将多余的字符替换为“”,因为显然Apache POI不允许这样做? 那你建议我怎么做? 提前谢谢 int kansio = 1; Document doc3 = Jsoup.connect("https://ravit.is.fi/paivanravit/").get(); Element table2 = doc3.sel
int kansio = 1;
Document doc3 = Jsoup.connect("https://ravit.is.fi/paivanravit/").get();
Element table2 = doc3.select("table").get(5);
Elements links2 = table2.select("a[href]"); // a with href
for (Element link3 : links2) {
int asd1 = 1;
new File("C:\\sheets\\lahto-" + kansio).mkdir();
Document doc2 = Jsoup.connect("https://ravit.is.fi/paivanravit/" + link3.attr("href")).get();
Elements links = doc2.select("[href*=hevoset]");
for (Element link2 : links) {
try {
Document doc = Jsoup.connect("https://ravit.is.fi/" + link2.attr("href")).get();
String filename = "C:\\sheets\\lahto-" + kansio + "/" + asd1 + ".xls";
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("FirstSheet");
for (Element asd : doc.select("#valittu_public > table > tbody > tr > td > form > table > tbody")) {
int rownum = 0;
for (Element row : asd.select("tr")) {
HSSFRow exlrow = sheet.createRow(rownum++);
int cellnum = 0;
for (Element tds : row.select("td")) {
StringUtils.isNumeric("");
HSSFCell cell = exlrow.createCell(cellnum++);
cell.setCellValue(tds.text());
}
}
}
sheet.shiftRows(2 ,500 ,-1);
int ttt = 1;
while (ttt < 500) {
sheet.shiftRows(ttt ,500 ,-1);
ttt++;
}
FileOutputStream fileOut = new FileOutputStream(filename);
workbook.write(fileOut);
fileOut.close();
workbook.close();
asd1++;
} catch ( Exception ex ) {
System.out.println(ex);
}
}
kansio++;
}
int kansio=1;
文档doc3=Jsoup.connect(“https://ravit.is.fi/paivanravit/).get();
元素表2=doc3。选择(“表”)。获取(5);
Elements links2=table2.选择(“a[href]”;//a带href
对于(元素链接3:links2){
int asd1=1;
新文件(“C:\\sheets\\lahto-”+kansio.mkdir();
文档doc2=Jsoup.connect(“https://ravit.is.fi/paivanravit/“+link3.attr(“href”).get();
元素链接=doc2。选择(“[href*=hevoset]”);
用于(元素链接2:链接){
试一试{
Document doc=Jsoup.connect(“https://ravit.is.fi/“+link2.attr(“href”).get();
字符串filename=“C:\\sheets\\lahto-”+kansio+“/”+asd1+“.xls”;
HSSFWorkbook=新的HSSFWorkbook();
HSSFSheet sheet=workbook.createSheet(“第一张纸”);
对于(元素asd:doc.select(#valittu\u public>table>tbody>tr>td>form>table>tbody)){
int rownum=0;
对于(元素行:asd.select(“tr”)){
HSSFRow exlrow=sheet.createRow(rownum++);
int-cellnum=0;
对于(元素tds:row.select(“td”)){
StringUtils.isNumeric(“”);
HSSFCell cell=exlrow.createCell(cellnum++);
cell.setCellValue(tds.text());
}
}
}
活页。换档杆(2500,-1);
int-ttt=1;
而(ttt<500){
表1.移位器(ttt,500,-1);
ttt++;
}
FileOutputStream fileOut=新的FileOutputStream(文件名);
工作簿。写入(归档);
fileOut.close();
workbook.close();
asd1++;
}捕获(例外情况除外){
系统输出打印项次(ex);
}
}
kansio++;
}
请不要在一个问题中同时问多个问题。这里的一个问题实际上应该只有一个问题。关于不同单元格类型的问题:提供多个setCellValue
方法不仅setCellValue(String)
最后一个是您似乎唯一使用的方法。编辑后,问题现在也不清楚了。您需要用“”替换哪些“额外字符”?为什么ApachePOI要这样做?使用Java
的字符串替换方法怎么样?