import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
public class SqlCreate {
/**
* @param args
* @throws IOException
* @throws FileNotFoundException
*/
private static String path = "F:\\22222222222\\smd"; // execl保存路径
private static String savepath = "F:\\22222222222\\sql\\sql.txt"; //拼接后的sql保存路径
public static void main(String[] args) {
try {
File file = new File(path); //此处file不是文件,是路径
FileOutputStream out = new FileOutputStream(savepath);
for (File f : file.listFiles()) { //通过".listFiles()"方法遍历路径下文件
if (!file.isDirectory()) { //判断下一个是否为空
continue;
}
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(f));
Sheet sheet = wb.getSheet("TAB"); //获取execl表格中的工作表sheet(此处工作表名为TAB)
int frn = sheet.getFirstRowNum() + 3; //设置获取表格行的起始位置
int lrn = sheet.getLastRowNum(); //设置获取表格行的结束位置
Row row = null;
Cell celltable = null;
Cell cellshcema = null;
String sql = "";
for (int i = frn; i <= lrn; i++) { //从设置行的起始位置按行遍历
row = sheet.getRow(i); //获取表格第i行
if(row==null){ //行为空跳出
break;
}
cellshcema =row.getCell(2); //获取第i行第3列内容
celltable = row.getCell(1); //获取第i行第2列内容
sql+="ALTER TABLE "+cellshcema+"."+celltable+" ALTER N_AJBS TYPE NUMERIC(22);"+"\r\n";
System.out.println(sql);
out.write(sql.getBytes());
}
}
out.close();
System.out.println("sql脚本生成完毕!!!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java读写文件,poi解析读取execl表格,读取指定行列单元格信息,拼接sql,写入TXT文档。
最新推荐文章于 2024-05-12 06:27:58 发布