作者:乔山办公网日期:
返回目录:excel表格制作
数据库中的表:
和javaBean中对应
javaBean:
public class mainpart {
private int id;
private String name;//名称
private String spid;
private String specification;//规格
private String suppid;
private String suppname;//供应商名称
private String authenticatedMarks;//认证标志
private String standard;//标准
private String parameter;//参数
private Integer modelId;
public Integer getModelId() {
return modelId;
}
public void setModelId(Integer modelId) {
this.modelId = modelId;
}
public String getAuthenticatedMarks() {
return authenticatedMarks;
}
public void setAuthenticatedMarks(String authenticatedMarks) {
this.authenticatedMarks = authenticatedMarks;
}
public String getStandard() {
return standard;
}
public void setStandard(String standard) {
this.standard = standard;
}
public String getParameter() {
return parameter;
}
public void setParameter(String parameter) {
this.parameter = parameter;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSpid() {
return spid;
}
public void setSpid(String spid) {
this.spid = spid;
}
public String getSpecification() {
return specification;
}
public void setSpecification(String specification) {
this.specification = specification;
}
public String getSuppid() {
return suppid;
}
public void setSuppid(String suppid) {
this.suppid = suppid;
}
public String getSuppname() {
return suppname;
}
public void setSuppname(String suppname) {
this.suppname = suppname;
}
}
上传调用:思想是读取excel中的每一行数据,从第1行起(第0列为表头),每列的数据转换为string类型的,在通过sql语句
依次插入数据库(插入,更新的两个函数就不再贴出了)
�1�3�1�3public class MainPartimportBean {
private static Logger log = Logger.getLogger(SampleBean.class);
public void insertDB(InputStream fp,String modelId) {
try {
e799bee5baa6e997aee7ad94e4b893e5b19e363HSSFWorkbook workbook = new HSSFWorkbook(fp);// 创建工作薄
HSSFSheet sheet = workbook.getSheetAt(0);// 得到工作表
HSSFRow row = null;// 对应excel的行
HSSFCell cell = null;// 对应excel的列
String Var="";
row = sheet.getRow((short)0);
int totalRow = sheet.getLastRowNum();// 得到excel的总记录条数
int modelId2 = Integer.valueOf(modelId);
String name = "";//名称
String specification = "";//规格
String suppname = "";//供应商名称
String parameter = "";//参数
String standard = "";//标准
String authenticatedMarks = "";//认证标志
for (short i = 1; i <=totalRow; i++) {
mainBean mb = new mainBean();
mainpart mp1 = new mainpart();
row = sheet.getRow(i);
cell = row.getCell((short)0);
if(cell!=null)
name = cell.getRichStringCellValue().toString();
mp1.setName(name);
cell = row.getCell((short)1);
if(cell!=null)
specification =cell.getRichStringCellValue().toString();
mp1.setSpecification(specification);
cell = row.getCell((short)2);
if(cell!=null)
suppname = cell.getRichStringCellValue().toString();
mp1.setSuppname(suppname);
cell = row.getCell((short)3);
if(cell!=null)
parameter = cell.getRichStringCellValue().toString();
mp1.setParameter(parameter);
cell = row.getCell((short)4);
if(cell!=null)
standard = cell.getRichStringCellValue().toString();
mp1.setStandard(standard);
cell = row.getCell((short)5);
if(cell!=null)
authenticatedMarks = cell.getRichStringCellValue().toString();
mp1.setAuthenticatedMarks(authenticatedMarks);
mp1.setModelId(modelId2);
if(mb.isEmptymainpart(authenticatedMarks))
mb.updataMainBymainpart(mp1);//防止数据重复
else
mb.newMainUpdata(mp1);//插入数据
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
首先需要在mysql管理工具上面新建一个表,也可以用mysql命令创建,表建立完成之后,需要将表中的字段名字告诉给填写excel表的人员.
打开excel表,按照程序提供的字段填写相应的数据.此时注意下面几点:名字需要跟程序提供的一样,其他的描述,表头可以不写都行.
打开工具,选择表所在的数据库,然后点击数据库名字,右键数据,出来下拉菜单选择import wizard .弹出一个选择界面7a64e4b893e5b19e365,选择excel file文件
点击next(下一步),选择对应的excel文件就行,然后再下面选在文件内容在哪一个sheet中,也就是内容写在excel什么地方,这点需要注意,也是关键的地方.
点击next (此步骤也是关键步骤),需要注意2点: 1:filed name row 就是字段所在excel中的位置,也就是第几行(简单办法,一般就是英文对应的那一列).2:first data row(从哪一行开始执行),数据从哪一行开始
点击next 选择 target table 目标对应的数据库,选择.
如果到上面一步没有问题的话,默认next到最后 就行了.然后打开表就能看到数据跟excel表中的一样.要导入到哪个数据库中表中
如果web是别人的,你可以把文件下百载回来到本地,再利用SQL的导入数据功能导入。
如果Web是自己的,直接度导入不就好了?
如果你想用程序导入的话。我以前都是用.net C#来完成的。你知需要引入Office组件。然后用代码打开excel文件,找到要读入的数据,取道值、写入数据库。
如果你的excel文件比较规整,比如,列头是A1开始,数据从A2开始的话,也可以用oleDBConnection连接内Excel。把Excel当成一个数据库读取数据:select * from [$sheet1] 。进行读取数据。
由于涉及的知识点太多,我无法一一列举。你可以按我说的容路子再百度一下。