你试试我这个吧!我的可以啊
public class DbToExcelMain { public static void main(String[] args) {
Connection con = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
try {
con = DriverManager
.getConnection("jdbc:jtds:sqlserver://localhost:1433/userDB;user=sa;pwd=;");
} catch (SQLException e1) {
e1.printStackTrace();
}
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select uid as 编号, username as 姓名,password as 密码,email as 电子邮件 from userInfo";
try {
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
ResultSetMetaData md = rs.getMetaData(); HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
workbook.setSheetName(0, "学员信息", HSSFWorkbook.ENCODING_UTF_16);
HSSFRow row = sheet.createRow((short) 0);
HSSFCell cell;
int nColumn = md.getColumnCount();
// 写入各个字段的名称
for (int i = 1; i <= nColumn; i++) {
cell = row.createCell((short) (i - 1));
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(md.getColumnLabel(i));
} int iRow = 1;
// 写入各条记录,每条记录对应Excel中的一行
while (rs.next()) {
row = sheet.createRow((short) iRow);
for (int j = 1; j <= nColumn; j++) {
cell = row.createCell((short) (j - 1));
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(rs.getObject(j).toString());
}
iRow++;
}
FileOutputStream fOut;
try {
fOut = new FileOutputStream("d:/userInfo" + ".xls");
workbook.write(fOut);
fOut.flush();
fOut.close();
} catch (IOException e) {
e.printStackTrace();
}
System.err.println("数据库的数据导出到Excel成功!");
JOptionPane.showMessageDialog(null, "数据库的数据导出到Excel成功!");
} catch (SQLException e) {
e.printStackTrace();
}
}}
public class DbToExcelMain { public static void main(String[] args) {
Connection con = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
try {
con = DriverManager
.getConnection("jdbc:jtds:sqlserver://localhost:1433/userDB;user=sa;pwd=;");
} catch (SQLException e1) {
e1.printStackTrace();
}
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select uid as 编号, username as 姓名,password as 密码,email as 电子邮件 from userInfo";
try {
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
ResultSetMetaData md = rs.getMetaData(); HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
workbook.setSheetName(0, "学员信息", HSSFWorkbook.ENCODING_UTF_16);
HSSFRow row = sheet.createRow((short) 0);
HSSFCell cell;
int nColumn = md.getColumnCount();
// 写入各个字段的名称
for (int i = 1; i <= nColumn; i++) {
cell = row.createCell((short) (i - 1));
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(md.getColumnLabel(i));
} int iRow = 1;
// 写入各条记录,每条记录对应Excel中的一行
while (rs.next()) {
row = sheet.createRow((short) iRow);
for (int j = 1; j <= nColumn; j++) {
cell = row.createCell((short) (j - 1));
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(rs.getObject(j).toString());
}
iRow++;
}
FileOutputStream fOut;
try {
fOut = new FileOutputStream("d:/userInfo" + ".xls");
workbook.write(fOut);
fOut.flush();
fOut.close();
} catch (IOException e) {
e.printStackTrace();
}
System.err.println("数据库的数据导出到Excel成功!");
JOptionPane.showMessageDialog(null, "数据库的数据导出到Excel成功!");
} catch (SQLException e) {
e.printStackTrace();
}
}}
解决方案 »
- 日期的加减
- Struts2标签的select控件,怎么在onchange事件里调用一个Action
- NoClassDefFoundError的问题
- tiles框架问题 着急 在线等 求求所有高手 我着急啊
- 哪位高手能告诉我,网吧中server控制客户机是用什么原理的呢?
- JList运行问题
- 页面上Applet为什么就显示一个灰色框?没有任何内容
- 如何从一个单一的JSP程序员迈进J2EE的世界--请高手指点迷津
- 请教JBoss_Tomcat如何作为插件加到eclipse中,用文档资料吗?
- 关于Maven
- java.io.IOException: 拒绝访问 该怎么解决?
- 关联表的查询问题(使用Hibernate DAO的findByExample()方法)
1 你的Excel有问题,
2 你的写入的数据有问题这2个的原因我都无法猜测
public void writeExcel(String fileName) {
// 目标文件
File file = new File(fileName);
FileOutputStream fOut = null;
try {
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值。
// 也可以指定工作表的名字。
HSSFSheet sheet = workbook.createSheet("data_Table");
// 创建单元格的格式,如居中、左对齐等
HSSFCellStyle cellStyle = workbook.createCellStyle();
// 水平方向上居中对齐
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 垂直方向上居中对齐
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
// 下面将建立一个4行3列的表。第一行为表头。
int rowNum = 0;// 行标
int colNum = 0;// 列标
// 建立表头信息
// 在索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow((short) rowNum);
// 单元格
HSSFCell cell = null;
// 获取数据库数据1000条。
for (colNum = 0; colNum < 6; colNum++) {
// 在当前行的colNum列上创建单元格
cell = row.createCell((short) colNum);
// 定义单元格为字符类型,也可以指定为日期类型、数字类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 定义编码方式,为了支持中文,这里使用了ENCODING_UTF_16
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
// 为单元格设置格式
cell.setCellStyle(cellStyle);
// 添加内容至单元格
cell.setCellValue("表头名-" + colNum);
}
// rowNum++;
for (; rowNum < 3; rowNum++) {
// 新建第rowNum行
row = sheet.createRow((short) rowNum);
for (colNum = 0; colNum < 6; colNum++) {
// 在当前行的colNum位置创建单元格
cell = row.createCell((short) colNum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle);
if (colNum == 0)
cell.setCellValue(1);
if (colNum == 1)
cell.setCellValue(0);
if (colNum == 2)
cell.setCellValue(1);
if (colNum == 3)
cell.setCellValue(-1);
if (colNum == 4)
cell.setCellValue("Name" + rowNum);
if (colNum == 5)
cell.setCellValue("Content" + rowNum);
}
}
// 工作薄建立完成,下面将工作薄存入文件
// 新建一输出文件流
fOut = new FileOutputStream(file);
// 把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
System.out.println("Excel文件生成成功!Excel文件名:" + file.getAbsolutePath());
} catch (Exception e) {
System.out.println("Excel文件" + file.getAbsolutePath() + "生成失败:" + e);
} finally {
if (fOut != null) {
try {
fOut.close();
} catch (IOException e1) {}
}
}
}
谢谢了!!!
-----------------------------
定位点的工具。考生在练习时要渐渐习惯通过人物、时间、地点、数字和专有名词找出题目中的文章定位点。当考生可以熟练解答科普类文章的文章内容时,就会很快做出其他文体的文章。 <BR><BR> 雅思阅读的题目里主要是判断题、选择题、填空题和图表题等。其中最难的题型就是判断题,因为有很多时候考生无法在错误选项和无关选项上做出判断。这种题目是要求考生在读完文章后判断句子是否真实,有三种可能:真实、虚假和未提供。实际上这种题目是为了取得高分才设计的,考生先要把最基本的题目做好,再来做这种题目。对于这种题目,考生要找出每句话主语的关键词回文定为就可以了。其他题型中填空题主要是细节类题目,考生直接按照速读的方法到文章中找答案即可。图表类题目需要考生根据图片和文章结合做出答案,主要是找出文章中的名词和形容词,根据名词和形容词找出正确的图片。 <BR><BR> 综合以上内容,考生在120天的时间段内主要是练习读文章的能力并且熟悉常考题型。熟能生巧,相信考生通过大量练习会在阅读上有质的突破的。
-------------------------------------
有的要比这个多很多,还有html标签在里面。
office重装下试试吧
竹子 我都测试过了,如果不放content字段上去的话,我的Excel写入没问题的。一加入content字段,我上面的问题就来了...
那么我怀疑:1、我的程序有问题,但是竹子他们都没说那里出了问题...
2、POI有Bug
3、rpwt哼哼 我想3是不会有可能的。前两个问题 测试中......(打算用jxl试试看...)
如果没猜错的话,你的excel里面有许多样式和公式,将这些东西全部去掉,然后再重新导入,我当时就是这样解决的