Excel에서 데이터를 처음 읽은 후 동일한 Excel에서 작성합니다. 그것은 처음에는 잘 작동합니다. 데이터가 기록 된 직후에 처음부터 있던 원래 데이터를 삭제합니다.POI를 사용하여 Excel에서 데이터를 읽고 쓰십시오 - 새 데이터를 쓰신 후에 Excel에서 원래 데이터를 삭제합니다.
코드는 아래와 같습니다 : 당신이 작성하는 경우 엑셀 시트의 인덱스가 동일하기 때문에
public static void main (String args[]) throws Exception {
//CODE TO REMOVE UNNECESSARY WARNING
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.Jdk14Logger");
//CALL FIREFOX DRIVER TO OPEN IT
WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.co.in/?gfe_rd=cr&ei=VQiAVOeCFavM8gf59IHACg&gws_rd=ssl#q=software+testing");
java.util.List<WebElement> links = driver.findElements(By.tagName("h3"));
int sizecount = links.size();
System.out.println(sizecount);
FileInputStream input = new FileInputStream("D:\\sel.xls");
int count=0;
HSSFWorkbook wb = new HSSFWorkbook(input);
HSSFSheet sh = wb.getSheet("sheet1");
HSSFRow row = sh.getRow(count);
String data = row.getCell(0).toString();
System.out.println(data);
FileOutputStream webdata = new FileOutputStream ("D:\\sel.xls");
int inc = 1;
for(int i=1;i<=links.size()-1;i++)
{
HSSFRow row1 = sh.createRow(count);
row1.createCell(inc).setCellValue(links.get(i).getText());
count++;
}
wb.write(webdata);
어디에서해야합니까? 이미 count = 0을 설정했기 때문에; 또한 카운트가 내 코드대로 잘 작동합니다. 새로운 데이터가 한 행씩 쓰여집니다. 그래서 문제가되지 않습니다. 나는 새로운 데이터를 쓸 때 Excel에서 원래의 데이터를 안전하게 유지하려고합니다. –
@Helping Handsing, 네가 처음으로 글을 쓰고 있지만 그 뒤에는 이미 줄이 있기 때문에 마지막 줄 다음에 써야한다. 그렇지 않은가? inc를 1로 설정 한 후이 작업을 수행해야합니다 ... – sboda
데이터 유형을 count 변수로 설정해야합니다. 또한 count를 이미 사용 했으므로 count1이라는 새 변수를 만들어야합니다. –