0 0

用jxl从数据库导出的excel文件是导出到本地还是导出到服务器3

如题,代码如下:
package test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List; 
import javax.servlet.*;  
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class TestExcel {
	private String driverClass = "net.sourceforge.jtds.jdbc.Driver";

    private String url ="jdbc:jtds:sqlserver:/localhost:1433/demo";

    private String user = "sa";

    private String password = "";

    private Connection connection;
	public void exportClassroom(OutputStream os) {  

		try {  
		WritableWorkbook wbook = Workbook.createWorkbook(os); //建立excel文件  
		WritableSheet wsheet = wbook.createSheet("报警记录表", 0); //工作表名称  
		//设置Excel字体  
		WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,  
		WritableFont.BOLD, false,  
		jxl.format.UnderlineStyle.NO_UNDERLINE,  
		jxl.format.Colour.BLACK);  
		WritableCellFormat titleFormat = new WritableCellFormat(wfont);  
		String[] title = { "报警记录编号", "报警时间", "报警设备", "报警设备编号","报警事件名称","报警编号"};  
		//设置Excel表头  
		for (int i = 0; i < title.length; i++) {  
		Label excelTitle = new Label(i, 0, title[i], titleFormat);  
		wsheet.addCell(excelTitle);  
		}  
		int c = 1; //用于循环时Excel的行号  
		Connection con=openConnection();
    	Statement st=con.createStatement();
    	String sql="select * from jlbjsj where BJJLSJ between '2010-09-01 08:19:25' and '2010-12-02 08:19:25' and BJSBMC like '%'";
		ResultSet rs=st.executeQuery(sql); //这个是从数据库中取得要导出的数据  
		while (rs.next()){
			Label content1 = new Label(0, c, (String)rs.getString("BJJLBH"));  
			Label content2 = new Label(1, c, (String)rs.getString("BJJLSJ"));  
			Label content3 = new Label(2, c, (String)rs.getString("BJSBMC"));   
			Label content4 = new Label(3, c, (String)rs.getString("BJSBBH"));
			Label content5 = new Label(4, c, (String)rs.getString("BJBLMC"));
			Label content6 = new Label(5, c, (String)rs.getString("BJBLBH"));
			//Label content7 = new Label(3, c, (String)rs.getString("BJSBBH"));
			wsheet.addCell(content1);  
			wsheet.addCell(content2);  
			wsheet.addCell(content3);  
			wsheet.addCell(content4);
			wsheet.addCell(content5);
			wsheet.addCell(content6);
			c++;  
		}  
		wbook.write(); //写入文件  
		wbook.close();  
		os.close(); 
		System.out.println("导入成功!");
		} catch (Exception e) {  

		e.printStackTrace(); 

		}  

		}
	public Connection openConnection() throws SQLException {
        try {
            Class.forName(driverClass).newInstance();
            connection = DriverManager.getConnection(url, user, password); 
            return connection;
        } catch (Exception e) {
            throw new SQLException(e.getMessage());
        }
    }
    public void closeConnection() {
        try {        
            if (connection != null)
                connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args){
    	TestExcel te=new TestExcel();
    	File f=new File("c:\\kk.xls");
    	try{
    		f.createNewFile();
    		OutputStream os=new FileOutputStream(f);
    		te.exportClassroom(os);
    	}catch(Exception e){
    		e.printStackTrace();
    	}
    	
    }
}

问题补充:
梦中有你 写道
#  File f=new File("c:\\kk.xls");  
#         try{  
#             f.createNewFile();  
#             OutputStream os=new FileOutputStream(f);  
#             te.exportClassroom(os);  
#         }catch(Exception e){  
#             e.printStackTrace();  
#         }  


你自己写的代码,你是用File来构建OutputStream的 你说它最后写入到哪里去了?
c:/kk.xls啊  如果你的项目发布到了服务器上,那就在服务器的C盘  你想弄到本地的话你就别写入文件,用装载了数据的流传输给客户端,让客户保存,即可弄到本地(相当于文件下载)

能详细一些吗?谢谢!
2010年12月02日 09:34

3个答案 按时间排序 按投票排序

0 0

采纳的答案

文件下载例子:
[url]
http://yaofeng911.iteye.com/blog/472492
[/url]

把相应的流、文件替换成你的就OK了

2010年12月02日 10:37
0 0

导出excel文件,可以用PageOffice插件的。

2017年7月10日 10:26
0 0

#  File f=new File("c:\\kk.xls");  
#         try{  
#             f.createNewFile();  
#             OutputStream os=new FileOutputStream(f);  
#             te.exportClassroom(os);  
#         }catch(Exception e){  
#             e.printStackTrace();  
#         }  


你自己写的代码,你是用File来构建OutputStream的 你说它最后写入到哪里去了?
c:/kk.xls啊  如果你的项目发布到了服务器上,那就在服务器的C盘  你想弄到本地的话你就别写入文件,用装载了数据的流传输给客户端,让客户保存,即可弄到本地(相当于文件下载)

2010年12月02日 09:42

相关推荐

    jxl从数据库导出到excel工具包

    这个标题表明我们要讨论的是一个使用jxl库来帮助从数据库中导出数据并将其格式化为Excel文件的工具包。jxl是一个广泛使用的Java库,允许开发者读取、写入和修改Excel文件。这种工具包通常用于数据分析、报表生成或者...

    JXL操作EXCEL 数据库导出EXCEL相关文件

    本篇文章将深入探讨JXL库在操作Excel和数据库导出Excel文件方面的应用。 首先,我们来了解JXL的基本用法。JXL支持读取和写入Biff8格式的Excel文件(即97-2003版本的.XLS文件),这涵盖了大部分常见的Excel文件需求...

    使用jxl将数据库的数据导出到Excel

    在Java开发环境中,有时我们需要将数据库中的数据导出到Excel文件,以便于数据分析、报表生成或数据共享。这时,一个常用的工具就是JXL库。JXL全称为Java Excel API,它是一个强大的开源Java库,允许开发者在Java...

    利用jxl实现数据库内容导出Excel

    在Java编程环境中,将数据库内容导出到Excel文件是一种常见的需求,这可以帮助用户更方便地查看、分析和处理大量数据。jxl库是Java中一个广泛使用的库,它提供了读写Excel文件的功能。本篇文章将深入探讨如何利用jxl...

    Android-Android使用jxl快速导出excel表

    在Android开发中,有时我们需要为用户提供将数据导出到Excel文件的功能,以便他们可以方便地在桌面环境中查看或进一步处理。在这种场景下,一个常用的库是jxl,它允许开发者在Java环境中创建、读取和修改Excel文件。...

    jxl导出excel加水印.zip

    通过以上步骤,我们就可以使用`jxl`库成功地导出包含水印的Excel文件了。需要注意的是,由于Excel文件的特性,水印可能不会在每个单元格都完全可见,可能需要调整字体大小、透明度等参数以达到理想效果。同时,如果...

    jxl实现导出excel数据

    在Java编程环境中,导出Excel数据是一项常见的任务,特别是在数据处理、报表生成或者数据分析的应用中。...通过以上步骤,你可以轻松地实现从数据库或其他数据源导出数据到Excel文件,满足各种业务需求。

    Android开发实现的导出数据库到Excel表格功能【附源码下载】

    在本文中,我们使用ExcelUtils类来将数据库数据导出到Excel表格。ExcelUtils类提供了一个统一的接口来操作Excel文件,使得我们可以轻松地将数据导出到Excel表格。 知识点三:Android用户界面设计 在本文中,我们...

    jxl导出excel总结

    《jxl导出Excel的深度解析与应用》 在信息化高度发展的今天,Excel作为数据处理和分析的重要工具,被广泛应用于各个领域。Java作为一种强大的编程语言,如何与Excel进行交互,成为了许多开发者关注的焦点。jxl库...

    jxl 导出 excel

    "jxl 导出 excel"的标题和描述暗示了我们将会讨论如何使用JXL库从数据库中导出数据到Excel文档的过程。这个过程涉及到Java编程、数据库操作以及JXL库的使用。 首先,我们需要了解JXL库。JXL是一个开源库,它提供了...

    jxl导出excel文件简单示例

    标题中的“jxl导出excel文件简单示例”是指使用jxl库来创建和导出Excel文件的一个基本操作。jxl是一个Java库,它允许开发者读取、写入和修改Excel文件,尤其在处理批量数据时非常方便。在这个示例中,我们将探讨如何...

    JXL导出Excel数据表

    在本地存储时,开发者可以将生成的Excel文件保存到服务器的特定目录,供后续使用。而在Web环境下,通过JSP或Servlet,用户可以在浏览器端触发文件下载。这通常涉及设置响应头信息,如Content-Type和Content-...

    通过JXL使用模板导出EXCEL

    在Java编程环境中,导出数据到Excel是一种常见的需求,特别是在数据分析、报表生成或者数据交换的场景下。JXL是一个流行的库,它允许开发者方便地读取、写入和操作Excel文件。本文将深入探讨如何利用JXL库通过模板来...

    jxl导出excel 完整例子工程

    jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程

    jxl导出excel工具类

    总结起来,`jxl导出excel工具类`是一个强大的工具,它能够帮助开发者快速实现数据到Excel的导出功能,减少重复代码,提高开发效率。通过合理的封装和设计,可以使得这类工具类在不同的项目中重用,降低维护成本。...

    jxl方式实现导出Excel表格

    使用jxl方式实现Excel表格导出,非常简单而且实用

    jxl导入导出excel

    总结来说,JXL库为Java开发者提供了强大的Excel操作能力,无论是在数据导入还是导出方面,都能满足大部分需求。通过以上步骤,你可以开始尝试使用JXL处理Excel文件了。在实际开发中,根据具体业务场景进行调整和优化...

    jxl 实现根据sql语句导出excel文件

    标题 "jxl 实现根据sql语句导出excel文件" 提到的是使用jxl库来创建Excel文件,并根据SQL查询结果填充数据的过程。jxl是一个Java库,它提供了读写Microsoft Excel文件的能力,这对于在Java应用程序中处理和生成报表...

    jxl java导入导出excel的jar文件

    Java编程语言在处理数据时,经常需要与Excel文件进行交互,比如导入数据到数据库或者从数据库导出数据到Excel报表。在这种场景下,`jxl`库是一个非常实用的工具。`jxl`是一个Java库,它允许程序员读取、写入和修改...

    java_Jxl(导入导出Excel).pdf

    Java JXL Excel导入导出API Java JXL 是一个纯 Java 的API,用于导入导出Excel文件。...JXL API是一个非常方便的Excel导入导出API,易于使用,无需依赖Windows系统,可以在Linux下运行,並且能够正确地处理Excel文件。

Global site tag (gtag.js) - Google Analytics