后台代码:
import java.io.FileInputStream;
import java.text.SimpleDateFormat;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WriteException;
public class ExcelUtil {
/**
* 返回大标题格式
*/
public static WritableCellFormat createWcfTitle() {
Workbook rwb=null;
try {
//读取Excel文件
FileInputStream is = new FileInputStream("C:\\8.8.xls");
rwb=Workbook.getWorkbook(is);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Sheet rs=rwb.getSheet(0);
//获取第一行 ,第一列的值
Cell c00=rs.getCell(0,0);
String strc00= c00.getContents();
//获取第一行,第二列的值
Cell c10=rs.getCell(1,0);
String strc10=c10.getContents();
//获取第二行,第一列的值
Cell c01=rs.getCell(0,1);
String strc01=c01.getContents();
//获取第二行,第一列的值
Cell c11=rs.getCell(1,1);
String strc11=c11.getContents();
//获取时间 strc41=08:30
Cell c41=rs.getCell(4,1);
String strc41=c41.getContents();
//获取时间 strc51=18:20
Cell c51=rs.getCell(5,1);
String strc51=c51.getContents();
try{
//计算时间差
SimpleDateFormat df = new SimpleDateFormat("HH:mm");
System.out.println(strc41);
System.out.println(strc51);
java.util.Date now = df.parse(strc51);
java.util.Date date=df.parse(strc41);
long l=now.getTime()-date.getTime();
System.out.println(l);
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(day);
System.out.println(hour);
System.out.println(min);
System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
}
catch(Exception ex){
ex.printStackTrace();
}
WritableFont wfc_big = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false,
UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat wcf_title = new WritableCellFormat(wfc_big);
try {
wcf_title.setBorder(Border.ALL, BorderLineStyle.THIN);
wcf_title.setAlignment(Alignment.CENTRE);
wcf_title.setVerticalAlignment(VerticalAlignment.CENTRE);
wcf_title.setWrap(true);
} catch (WriteException e) {
e.printStackTrace();
}
return wcf_title;
}
/**
* 返回正文格式
*/
public static WritableCellFormat createWcfText() {
WritableFont wfc_small = new WritableFont(WritableFont.ARIAL, 12, WritableFont.NO_BOLD, false,
UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat wcf_text = new WritableCellFormat(wfc_small);
try {
wcf_text.setBorder(Border.ALL, BorderLineStyle.THIN);
wcf_text.setAlignment(Alignment.LEFT);
wcf_text.setVerticalAlignment(VerticalAlignment.CENTRE);
} catch (WriteException e) {
e.printStackTrace();
}
return wcf_text;
}
}
前台代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.io.*"%>
<%@page import="jxl.write.*"%>
<%@page import="jxl.Workbook"%>
<%@page import="com.ying.ExcelUtil"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'exportExcel.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
response.reset();
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + new String("Excel文件.xls".getBytes("utf-8"), "iso8859-1"));
OutputStream os = response.getOutputStream();
WritableWorkbook wwb = null;
WritableCellFormat wcf_title = ExcelUtil.createWcfTitle();
WritableCellFormat wcf_text = ExcelUtil.createWcfText();
wwb = Workbook.createWorkbook(os);//将 WritableWorkbook 写入到输出流
WritableSheet ws = wwb.createSheet("sheet1", 0);//创建第一个sheet
ws.mergeCells(0, 0, 3, 0);//合并单元格
Label lbl = null;
lbl = new Label(0, 0, "大标题" , wcf_title);
ws.addCell(lbl);
lbl = new Label(0, 1, "列标题1", wcf_text);
ws.addCell(lbl);
lbl = new Label(1, 1, "列标题2", wcf_text);
ws.addCell(lbl);
lbl = new Label(2, 1, "列标题3", wcf_text);
ws.addCell(lbl);
lbl = new Label(3, 1, "列标题4", wcf_text);
ws.addCell(lbl);
for (int i = 0; i < 3; i++) //设置宽度
ws.setColumnView(i, 15);
os.flush();
wwb.write();
wwb.close();
os.close();
//解决异常java.lang.IllegalStateException: getOutputStream() has already been called for this response
out.clear();
out = pageContext.pushBody();
%>
</body>
</html>
分享到:
相关推荐
在Java编程中,读取Excel文件并将其导出为HTML表格是一项常见的任务,尤其是在数据处理和Web应用开发中。这个任务通常涉及到使用第三方库来处理Excel文件,因为Java标准库并不直接支持Excel格式。本篇将详细介绍如何...
这里,我们将详细探讨如何使用Java来读取和导出Excel文件,主要涉及的技术包括Apache POI库和其他相关API的使用。 首先,Apache POI是一个流行的开源Java API,它允许开发人员创建、修改和显示Microsoft Office格式...
总结,Java读取Excel并进行数据库建库建表及生成Java实体的过程涉及了Apache POI库的使用、数据库操作和源代码生成。理解这些步骤可以帮助你有效地处理类似的任务,提高开发效率。在实际应用中,你还需要考虑错误...
Apache POI提供了丰富的API,可以创建、修改和读取Excel工作簿、工作表、单元格等元素,非常适合构建复杂模板。 1. **安装Apache POI**: 在项目中引入Apache POI的依赖,如果是Maven项目,可以在pom.xml文件中添加...
在Java编程中,导出Excel是一项常见的任务,特别是在数据分析、报表生成或数据交换等领域。而带图片的Excel导出则增加了复杂性,因为涉及到二进制数据的处理和Excel特定格式的支持。以下是一些关于如何在Java中实现...
2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection.json 2. 导入sql到数据库:other/excel.sql 3. idea导入...
在Java编程中,读取...以上就是使用Java读取Excel文件生成矩阵的基本步骤。实际开发中,你可能还需要处理更多细节,如异常处理、数据验证、优化性能等。希望这个介绍能帮助你理解这个过程,并在实际项目中灵活应用。
1. **读取Excel文件**: - **创建工作簿对象**:使用`XSSFWorkbook`(对于.xlsx文件)或`HSSFWorkbook`(对于.xls文件)打开Excel文件。 - **获取工作表**:通过索引或名称获取工作表,例如`Sheet sheet = ...
本教程将详细介绍如何使用JAVA POI库来创建一个包含图片的完整Excel导出功能。 首先,你需要在项目中引入Apache POI依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....
标题"java读取excel之xlsl超大文件"所涉及的核心知识点是优化大量数据的读取策略。在Java中,可以使用Apache POI的SXSSF API(Streaming Usermodel API)来实现这种优化。与常规的XSSF API不同,SXSSF允许我们以流的...
在示例代码中,使用了Java POI读取Excel文件,并将其写入到数据库中。首先,需要创建一个Workbook对象,然后使用Workbook对象的getSheet方法获取Excel文件的Sheet对象,最后使用Sheet对象的getRow方法读取Excel文件...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。
总结来说,使用Java和Apache POI框架读取Excel文件的内容主要包括以下几个步骤: 1. 引入Apache POI依赖。 2. 创建`FileInputStream`,加载Excel文件到`Workbook`对象。 3. 从`Workbook`中获取`Sheet`对象。 4. 遍历...
在这个简单的例子中,我们将探讨如何使用jxl.jar来读取Excel数据,这对于初学者来说是一个很好的起点。 首先,你需要将jxl.jar添加到你的项目类路径中,以便能够使用它的API。这可以通过在你的构建系统(如Maven或...
Java读取Excel文件是开发过程中常见的任务,尤其是在处理数据导入导出、数据分析或者报表生成时。这个名为"java读取excel文件jar包20181223"的资源可能包含了一些帮助Java开发者实现这一功能的库。下面将详细讨论...
支持读取excel封装到实体,直接使用输出流导出,使用模版导出,具体使用方法 见jar 中的README.md。源码地址:View on GitOsc https://gitee.com/modoumama/modoumama-excel-utils maven添加 <id>modoumama-...
"java读取Excel配套jar包"正是这样一个资源包,它包含了必要的API和实现,使得开发者能够在不依赖Microsoft Office的情况下处理Excel文件。 首先,最常用的库之一是Apache POI,这是一个强大的API,用于处理...
Java 实现 Excel 导入导出可以使用 POI 库来读取和写入 Excel 文件中的数据。在 Struts2+Spring 框架中实现 Excel 导入导出需要使用 POI 库来读取和写入 Excel 文件中的数据,并对数据进行处理。使用 POI 库可以简化...
提供的压缩包可能包含了一个Java读取Excel的示例程序、相关的说明文件以及用于测试的Excel文件。确保按照提供的说明运行示例程序,以便在实际环境中验证读取功能。 总之,Java通过Apache POI库提供了强大的功能来...
在Java开发中,处理大数据导出到Excel是一个常见的需求,特别是在数据分析、报表生成以及数据交换等场景。"javaExcel大数据导出"这个话题涉及到的主要知识点包括:Java与Excel的交互、大数据处理策略、性能优化以及...