java实现excel导出进度条(Java Excel导出)

Excel表格网 2022-11-27 11:07 编辑:admin 232阅读

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。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片