1. Java Excel导出
这个一般是后台做的,后台生成excel文件返回前端下载。主要原因是虽然有这种插件(ExcellentExport.js、exceljs、js-xlsx等等),但是受到jquery版本和浏览器支持的限制,处理起来也比后端处理复杂。而且一旦数据量大起来浏览器是承受不了的。
2. java做excel导出
java servlet一个请求,只能有一个返回输出流,所以一次只能下载一个文件。如果确实需要下载多个Excel文件,可以先在本地生成多个Excel文件,然后使用zip压缩,再通过一个返回输出流将zip压缩包返回给客户端。我也遇到同样的问题,这个是在别人那搜到的。
3. java文件导出excel
百度搜索圈T社区 免费行业视频教程www.aiquanti.com
package com.asima;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
*
* @author asima
* @data 2006-10-18
*/
public class XlsToAccess
{
HSSFSheet globalSheet = null;
/*读取一个指定单元格内容*/
public String readCellValue(String pos)
{
int xpos;
short ypos;
int cellType; /*取得此单元格的类型 0-Numeric,1-String,3-null*/
String result; /*返回取得的单元格的值*/
ypos = (short) (pos.toUpperCase().charAt(0) - 65);
xpos = Integer.parseInt(pos.substring(1, pos.length())) - 1;
HSSFRow row = null; /* 定义excel中的行 */
HSSFCell cell = null; /* 定义excel中的单元格 */
/* 根据xPos和yPos取得单元格 */
row = globalSheet.getRow(xpos);
cell = row.getCell(ypos);
/** **************此处如果是空需要修改********************************** */
cellType = cell.getCellType();
switch (cellType)
{
case 0: /* 0-Numeric */
result = String.valueOf(cell.getNumericCellValue());
break;
case 1: /* 1-String */
result = cell.getStringCellValue();
break;
case 3: /* 3-null */
result = "";
break;
default:
result = "";
break;
}
return result;
}
/*读取excel文件并把内容插入到access表中*/
public void insertIntoTable() throws Exception
{
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook =
new HSSFWorkbook(new FileInputStream("D:/temp/test.xls"));
// 获得一个sheet
globalSheet = workbook.getSheetAt(0);
String value1 = readCellValue("c1");
String value2 = readCellValue("c2");
String value3 = readCellValue("c3");
String value4 = readCellValue("c4");
System.out.println(value1);
System.out.println(value2);
/* 插入数据库 */
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:asima";
Connection conn = DriverManager.getConnection(url);
PreparedStatement stmt =
conn.prepareStatement("insert into custom values(?,?,?,?)");
// 定义查询的SQL语句
stmt.setString(1, value1);
stmt.setString(2, value2);
stmt.setString(3, value3);
stmt.setString(4, value4);
stmt.executeUpdate
4. java excel 导出
javascript才能完成的东西,确实在IE浏览器的js调用的ActiveX形成的前端,数据导出到excel,但这种方法在其他浏览器中是不常见的。
数据导出到Excel,最好的方法是,在服务端的Excel数据,然后发送到前端的负载。您可以使用脚本。JAVA生成的一些开源组件,支持Excel。
5. java中导出excel
异步请求导出excel是请求的时候在后台获取数据然后生成了一个临时文件提供下载。而href是在服务器目录已经存在了某个文件,直接读取那个文件。
6. excel java导出
用Domino的java 类。你这个需求基本上靠三个类就可以。Database,View,Document,用这三个类方基本就能实现你想做的任何事。具体的使用方法,需要看Designer中的帮之里的Java/CORBA classses。最好装个IBM Lotus Designer.
7. java动态导出excel
由于项目及业务需要,有时候一个页面会有n张报表,那么这个时候就需要一键导出功能(方便省事)
首先项目肯定要集成帆软报表工具,帆软的各种jar包以及静态资源(js,css)等也会集成到项目里。
直接上代码,(主要有两个方法)
function printReport(name, sex, age ){
var params="";
if(""!=name){
params+=",NAME:"+name;
}
if(""!=sex){
params+=",SEX:"+sex;
}
if(""!=age){
params+=",AGE:"+age;
}
var items="{reportlet:zxt/test/test1.cpt"+params+"}"
+",{reportlet:zxt/test/test2.cpt"+params+"}";
doExport(items);
}
function doExport(items){
var form =$("<form>");
form.attr('style','display:none');
form.attr('target', '');
form.attr('method', 'post');
form.attr('action',"${bmw}/ReportServer");
var input1 = $('<input>');
input1.attr('type', 'hidden');
input1.attr('name', 'reportlets');
input1.attr('value',FR.cjkEncode("("+items+")"));
var input2 = $('<input>');
input2.attr('type', 'hidden');
input2.attr('name', 'extype');
input2.attr('value', 'simple');
var input3 = $('<input>');
input3.attr('type', 'hidden');
input3.attr('name', 'format');
input3.attr('value', 'excel');
var input4 = $('<input>');
input4.attr('type', 'hidden');
input4.attr('name','__filename__');
input4.attr('value', '报表批量导出');
$('body').append(form);
form.append(input1);
form.append(input2);
form.append(input3);
form.append(input4);
form.submit();
}
${bmw} 指的是项目的访问路径,另外FR.cjkEncode()用的是帆软报表自带的方法,需要导入帆软提供的两个js文件
${bmw}/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2017.01.20.14.49.47.271
${bmw}/ReportServer?op=emb&resource=finereport.chart.js&__v__=2017.01.20.14.49.47.271
然后调用printReport()方法就可以实现将多张报表导出到一个Excel文件里的多个sheet。
- 相关评论
- 我要评论
-