如何把数据库的文件下载到excel文件中

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

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 2019-3-5>>上午9:16:29

/
public class writeDbtoExcel {
/
*
* 将数据库dname中的表名为tname的数据表写入Excel表格
*
* @param dname
* @param tname
*/
public static void main(String[] args) {
String tname = “tname”;
String dname = “dname”;
Excel(dname, tname);
}

public static Object Excel(String dname, String tname) {
	String path = "E:/excel2/excel7.xls";
	File file = new File(path);
	try {
		if (!file.exists()) {//判断文件是否存在
			//如果不存在就创建
			file.createNewFile();
		}
		HSSFWorkbook workbook = new HSSFWorkbook();
		HSSFSheet sheet = workbook.createSheet();
		Class.forName("com.mysql.jdbc.Driver");
		Connection con;
		con = DriverManager.getConnection("jdbc:mysql://localhost:3306/"
				+ dname + "?useUnicode=true&charterEncoding=utf-8", "root",
				"123456");
		Statement st = con.createStatement();
		String sql = "select name,sex,num from " + tname +" where id=1";
		ResultSet rs = st.executeQuery(sql);
		ResultSetMetaData rms = rs.getMetaData();// 得到结果集的字段名
		int c = rms.getColumnCount();// 得到数据表的结果集的字段显示
		// 生成表单的第一行,即表头
		HSSFRow row = sheet.createRow(0);
		for (int i = 0; i < c; i++) {
			HSSFCell cell = row.createCell(i);// 创建第一行的第一列
			cell.setCellValue(rms.getColumnName(i + 1));
		}
		int r = 1;
		while (rs.next()) {
			HSSFRow row2 = sheet.createRow(r++);// 创建非第一行的其他行
			for (int i = 0; i < c; i++) {
				HSSFCell cell = row2.createCell(i);
				cell.setCellValue(rs.getString(i + 1));
			}
		}
		FileOutputStream stream = new FileOutputStream(file);
		workbook.write(stream);
		// workbook.close();

	} catch (Exception e) {
		e.printStackTrace();
	}
	return file;
}

}
希望可以帮助你。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对照身份证前6位,整理了6457条数据.形成了省市区县3级地区表 如下案例. INSERT INTO `area` VALUES ('1', '0', '1', '11', '1100', '110000', '北京市'); INSERT INTO `area` VALUES ('2', '1', '2', '11', '1101', '110100', '市辖区'); INSERT INTO `area` VALUES ('3', '2', '3', '11', '1101', '110101', '东城区'); INSERT INTO `area` VALUES ('4', '2', '3', '11', '1101', '110102', '西城区'); INSERT INTO `area` VALUES ('5', '2', '3', '11', '1101', '110103', '崇文区'); INSERT INTO `area` VALUES ('6', '2', '3', '11', '1101', '110104', '宣武区'); INSERT INTO `area` VALUES ('7', '2', '3', '11', '1101', '110105', '朝阳区'); INSERT INTO `area` VALUES ('8', '2', '3', '11', '1101', '110106', '丰台区'); INSERT INTO `area` VALUES ('9', '2', '3', '11', '1101', '110107', '石景山区'); INSERT INTO `area` VALUES ('10', '2', '3', '11', '1101', '110108', '海淀区'); INSERT INTO `area` VALUES ('11', '2', '3', '11', '1101', '110109', '门头沟区'); INSERT INTO `area` VALUES ('12', '2', '3', '11', '1101', '110110', '燕山区'); INSERT INTO `area` VALUES ('13', '2', '3', '11', '1101', '110111', '房山区'); INSERT INTO `area` VALUES ('14', '2', '3', '11', '1101', '110112', '通州区'); INSERT INTO `area` VALUES ('15', '2', '3', '11', '1101', '110113', '顺义区'); INSERT INTO `area` VALUES ('16', '2', '3', '11', '1101', '110114', '昌平区'); INSERT INTO `area` VALUES ('17', '2', '3', '11', '1101', '110115', '大兴区'); INSERT INTO `area` VALUES ('18', '2', '3', '11', '1101', '110116', '怀柔区'); INSERT INTO `area` VALUES ('19', '2', '3', '11', '1101', '110117', '平谷区');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值