Java excel数据到MySql表的转换
我正在用Eclipse作为IDE在spring和hibernate中开发一个应用程序 我想将Excel文件数据转换为MySql表 我已经提到了以下链接Java excel数据到MySql表的转换,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我正在用Eclipse作为IDE在spring和hibernate中开发一个应用程序 我想将Excel文件数据转换为MySql表 我已经提到了以下链接 有人能给我发一个有用的链接或简单的java代码吗?这是您读取Excel文件并存储在集合对象中的方式 import java.io.*; import java.util.Iterator; import org.apache.poi.ss.usermodel.Cell; import org.apache.po
有人能给我发一个有用的链接或简单的java代码吗?这是您读取Excel文件并存储在集合对象中的方式
import java.io.*;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ReadExcelFile {
public static void main(String[] args)
{
try {
FileInputStream file = new FileInputStream(new File("C:/Users/hussain.a/Desktop/newExcelFile.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
rowIterator.next();
while(rowIterator.hasNext())
{
Row row = rowIterator.next();
//For each row, iterate through each columns
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext())
{
Cell cell = cellIterator.next();
switch(cell.getCellType())
{
case Cell.CELL_TYPE_BOOLEAN:
System.out.println("boolean===>>>"+cell.getBooleanCellValue() + "\t");
// write hibernate lines here to store it in your domain
break;
case Cell.CELL_TYPE_NUMERIC:
System.out.println("numeric===>>>"+cell.getNumericCellValue() + "\t");
// write hibernate lines here to store it in your domain
break;
case Cell.CELL_TYPE_STRING:
System.out.println("String===>>>"+cell.getStringCellValue() + "\t");
// write hibernate lines here to store it in your domain
break;
}
}
System.out.println("");
}
file.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
导入java.util.Iterator;
导入org.apache.poi.ss.usermodel.Cell;
导入org.apache.poi.ss.usermodel.Row;
导入org.apache.poi.xssf.usermodel.xssfheet;
导入org.apache.poi.xssf.usermodel.xssf工作簿;
公共类ReadExcelFile{
公共静态void main(字符串[]args)
{
试一试{
FileInputStream file=newfileinputstream(新文件(“C:/Users/hussain.a/Desktop/newExcelFile.xlsx”);
XSSF工作簿=新XSSF工作簿(文件);
XSSFSheet sheet=workbook.getSheetAt(0);
迭代器rowIterator=sheet.Iterator();
roweiterator.next();
while(roweiterator.hasNext())
{
行=行迭代器。下一步();
//对于每一行,遍历每一列
迭代器cellIterator=row.cellIterator();
while(cellIterator.hasNext())
{
Cell=cellIterator.next();
开关(cell.getCellType())
{
case Cell.Cell\u类型\u布尔值:
System.out.println(“boolean===>>>”+cell.getBooleanCellValue()+“\t”);
//在此处编写hibernate行以将其存储在您的域中
打破
case Cell.Cell\u类型\u数值:
System.out.println(“numeric===>>>”+cell.getNumericCellValue()+“\t”);
//在此处编写hibernate行以将其存储在您的域中
打破
case Cell.Cell\u类型\u字符串:
System.out.println(“String===>>>”+cell.getStringCellValue()+“\t”);
//在此处编写hibernate行以将其存储在您的域中
打破
}
}
System.out.println(“”);
}
file.close();
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
在此之后,您可以使用hibernate并将其存储在域类中我使用POI读取excel文件。以下代码可以帮助您使用hibernate将数据插入数据库:
try{
FileInputStream input = new FileInputStream("D:\\employeedata.xls");
POIFSFileSystem fs = new POIFSFileSystem( input );
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row;
for(int i=1; i<=sheet.getLastRowNum(); i++)
{
Employee employee=new Employee();
row = sheet.getRow(i);
employee.setEmployeeName(String.valueOf(row.getCell(0).getRichStringCellValue()));
employee.setDesignation(String.valueOf(row.getCell(1).getRichStringCellValue()));
employee.setSalary((long)row.getCell(2).getNumericCellValue());
employeeService.insert(employee); // call to spring service layer
}
} catch (FileNotFoundException ec) {
ec.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
试试看{
FileInputStream输入=新的FileInputStream(“D:\\employeedata.xls”);
POIFSFISTEM fs=新的POIFSFISTEM(输入);
HSSF工作手册wb=新的HSSF工作手册(fs);
HSSFSheet sheet=wb.getSheetAt(0);
HSSFRow row;
对于(int i=1;i