接到了一個需求,客戶只給了一個excel赖条,讓根據(jù)excel中的內(nèi)容充蓝,把數(shù)據(jù)對應(yīng)數(shù)據(jù)進(jìn)行更新。話不多說锚沸,直接上代碼:
public class ReadExcelChangeTxt{
public static void main(String[] args) throws Exception {
? ? ? ? ? ? ? ? ? ?readTable(); //讀取excel 并把讀取的內(nèi)容寫到txt文件中
}
//通過對單元格遍歷的形式來獲取信息 跋选,這里要判斷單元格的類型才可以取出值 public static void readTable() throws Exception{
????????InputStream ips=new FileInputStream("h://test.xls");//讀取的excel文件
????????File file = new File("h://test2.txt");//寫入的txt文件
????????if(!file.exists()){
????????????file.createNewFile();
????????}
????????FileWriter fw = new FileWriter(file,false);
????????BufferedWriter bw = new BufferedWriter(fw);
????????XSSFWorkbook wb=new XSSFWorkbook(ips);
????????XSSFSheet sheet=wb.getSheetAt(0);
????????for(Iterator ite=sheet.rowIterator();ite.hasNext();){
????????????XSSFRow row=(XSSFRow)ite.next();
????????????XSSFCell xqmc = row.getCell(1);//是從0開始取得,因為我的需求只是需要第二列和第五列哗蜈,所以只讀取了這兩列的內(nèi)容前标。
? ? ? ? ? ? XSSFCell jwd = row.getCell(4);//
????????????String str="update socialize_guizi_main set community_name='"+xqmc+"' where ????????????concat_ws(',',longitude,latitude)='"+jwd+"';\r\n";
????????????bw.write(str);
????????}
????????bw.close();
????????fw.close();
????}
}
生成的txt文件里面的內(nèi)容,直接復(fù)制出來距潘,放到mysql工具里直接執(zhí)行即可炼列。