public InputStream getDownloadFile()
{
return ServletActionContext.getServletContext().getResourceAsStream("/excel/jkmalfuncexperienceDownLoadMold.xls");
}
@SuppressWarnings("unchecked")
public String download(){
ServletContext aplication = ServletActionContext.getServletContext();
String path = aplication.getRealPath("/excel");
WritableWorkbook book = null;
try {
List<AlarmRmsJkmalfuncexperience> exportlist = null;
if(ids!=null&&ids.size()>0)
{
exportlist = alarmRmsJkmalfuncexperienceManager.getList(ids);
}else
{
exportlist = alarmRmsJkmalfuncexperienceManager.getList(alarmRmsJkmalfuncexperience);
}
book = Workbook.createWorkbook(new File(path,"jkmalfuncexperienceDownLoadMold.xls"));
WritableSheet sheet = book.createSheet("故障经验库", 0); //添加excel的标题列
Label titleExpid = new Label(0, 0, "经验编号");
sheet.addCell(titleExpid);
Label titleExptitle = new Label(1, 0, "经验主题");
sheet.addCell(titleExptitle);
Label titleMalfuncarea = new Label(2, 0, "故障发生地区");
sheet.addCell(titleMalfuncarea);
Label titleSpecialtype = new Label(3, 0, "专业类别");
sheet.addCell(titleSpecialtype);
Label titleDevicetype = new Label(4, 0, "故障设备");
sheet.addCell(titleDevicetype);
Label titleDevicecompany = new Label(5, 0, "故障设备厂商");
sheet.addCell(titleDevicecompany);
Label titleVersion = new Label(6, 0, "软硬件编号");
sheet.addCell(titleVersion);
Label titleExplevel = new Label(7, 0, "经验等级");
sheet.addCell(titleExplevel);
Label titleExpkeyword = new Label(8, 0, "经验关键字");
sheet.addCell(titleExpkeyword);
Label titleMalfuncdescription = new Label(9, 0, "故障描述");
sheet.addCell(titleMalfuncdescription);
Label titleExperiencesummary = new Label(10, 0, "经验总结");
sheet.addCell(titleExperiencesummary);
for(int i=0;i<exportlist.size();i++) //添加excel数据
{
AlarmRmsJkmalfuncexperience arj = exportlist.get(i);
int a=i+1;//意思是从第二行开始添加数据
Label lableExpid = new Label(0, a, arj.getExpid());
sheet.addCell(lableExpid);
Label lable1Exptitle = new Label(1, a, arj.getExptitle());
sheet.addCell(lable1Exptitle);
Label lableMalfuncarea = new Label(2, a, arj.getMalfuncarea());
sheet.addCell(lableMalfuncarea);
Label lableSpecialtype = new Label(3, a, arj.getSpecialtype());
sheet.addCell(lableSpecialtype);
Label lableDevicetype = new Label(4, a, arj.getDevicetype());
sheet.addCell(lableDevicetype);
Label lableDevicecompany = new Label(5, a, arj.getDevicecompany());
sheet.addCell(lableDevicecompany);
Label lableVersion = new Label(6, a, arj.getVersion());
sheet.addCell(lableVersion);
Label lableExplevel = new Label(7, a, arj.getExplevel());
sheet.addCell(lableExplevel);
Label lableExpkeyword = new Label(8, a, arj.getExpkeyword());
sheet.addCell(lableExpkeyword);
Label lableMalfuncdescription = new Label(9, a, arj.getMalfuncarea());
sheet.addCell(lableMalfuncdescription);
Label lableExperiencesummary = new Label(10, a, arj.getExperiencesummary());
sheet.addCell(lableExperiencesummary);
}
} catch (RowsExceededException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(Exception e)
{
}finally{
try {
book.write();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
book.close();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return SUCCESS;
}
<action name="download" class="alarmRmsJkmalfuncexperienceAction" method="download">
<result name ="success" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">filename="malfuncexperience_.xls"</param>
<param name="inputName">downloadFile</param>
</result>
</action>
分享到:
相关推荐
总的来说,"extjs3.2+struts2实现多文件上传excel并插入到数据库"项目结合了前端交互、后端处理和数据库操作,实现了一个完整的数据导入流程。开发者需要理解ExtJS的组件使用、Struts2的文件上传处理、Java对Excel...
导入时,读取上传的Excel文件,解析数据,然后通过JDBC调用存储过程将数据插入数据库。 3. **创建Excel模板**:设计Excel模板,包括列名和预期的数据格式。这将作为导出的模板或导入时的数据验证依据。 4. **处理...
这个PDF文档标题提到的“简单java做excel解析并验证插入数据库”涉及到的关键技术包括Excel文件解析、文件上传以及数据库操作。下面我们将详细讨论这些知识点。 首先,Excel文件解析通常使用Apache POI库,这是一个...
4. JDBC操作数据库,将Excel数据插入数据库。 5. 使用JavaScript和HTML展示上传进度条,可能需要服务器端的进度反馈接口。 希望这个详细的解释能帮助你理解和实施类似的功能。在实际项目中,还需要考虑到错误处理、...
这个场景通常涉及使用特定库来解析Excel文件,并通过某种框架(如Struts)与数据库进行交互。以下是对这个过程的详细解释: 首先,我们需要处理的是Excel文件。在Java中,`jxl.jar`库是一个广泛使用的第三方库,...
同时,如果你需要支持 Excel 的导入,可以创建相应的 Action 方法,读取客户端上传的文件,然后利用 POI 解析 Excel 数据并存入数据库。 总之,通过 Struts2 和 POI 的结合,开发者可以方便地在 Web 应用中提供 ...
java版Excel文件导入数据库源代码 servlet容器:tomcat(或者其他) 数据库:oracle(或者其他) 使用框架:jsp+struts1.2 支持字符型/数据型/日期型/CLOB等数据 使用步骤: 1.下载本资源,解压后得到4个文件:...
首先,你需要解析Excel文件,读取数据,然后通过Struts2的动作类将数据转换为Java对象,最后通过JDBC连接插入到MySQL数据库。 5. **Excel数据导出**:导出数据时,同样使用Apache POI创建一个新的Excel工作簿,然后...
服务器端通常使用特定的库或框架(如Spring MVC、Struts2等)来处理这些上传请求,解析请求体中的文件内容,并保存到服务器的临时目录或者指定位置。文件上传时需要注意文件大小限制、安全性(防止文件注入攻击)...
在导入数据时,需要将Excel解析得到的数据映射到实体类,并调用`save()`或`saveOrUpdate()`方法批量保存到数据库。 ```java SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session ...
一旦文件成功上传到服务器端,下一步就是解析文件内容并将数据插入到数据库中。这里可以使用Apache POI库来读取Excel文件,POI是一个用于处理MS Office文档格式的强大Java库。解析完成后,可以通过Hibernate ORM框架...
在导入时,它能将Excel数据转化为对应的Java对象,再通过SQL语句批量插入数据库;导出时,则是从数据库查询数据,转换成Excel格式供用户下载。 实现Excel导入导出,开发者通常会使用Apache POI库。POI是一个用于...
这可能涉及使用Apache POI库解析Excel文件,读取数据,并通过Hibernate批量插入到数据库中。开发者需要处理Excel格式的不同版本,以及数据验证和异常处理。 视频播放功能意味着网站包含了多媒体内容的处理。这通常...
- **导入导出**:导入时,先读取Excel文件,然后将数据解析为适合数据库存储的格式。导出时,从数据库获取数据,构造Excel表格并提供下载。 4. **Word处理**: Apache POI同样支持Word处理,使用XWPFDocument...
后端使用了 Struts2 框架,通过 `importExcel()` 方法处理文件上传和数据导入。 ```java private File excelFile; public File getExcelFile() { return excelFile; } public void setExcelFile(File excelFile)...
在S2SH框架中进行Excel导入功能,可以帮助用户方便地将大量数据从Excel文件导入到数据库中,提高数据处理效率。以下是一个详细的步骤解析: 1. **Action层**: 在Action类中,首先定义一个方法来处理导入请求。此...
"s2sh--lib.rar_s2sh_s2sh l_spring l_ssh_struts2" 提供的是一个包含s2sh框架所需库的压缩包,它整合了Struts2、Spring和Hibernate(简称SSH)这三大流行Java Web开发框架的核心组件,方便开发者直接下载使用,无需...
5. 插入数据库:使用Hibernate的Session对象保存或更新数据,通过事务管理确保数据一致性。 6. 处理异常:捕获并处理可能出现的异常,如文件解析错误、数据库操作失败等,返回相应的提示信息。 在实际开发中,为了...
在实际应用中,结合Struts2、Javabean和iReport,你可以实现用户在Web界面上请求报表,后台服务通过Struts2框架处理请求,调用JDBC或ORM框架(如Hibernate)从数据库获取数据,将数据封装成Javabean集合,然后使用...