「java导出表单」excel导出单表

博主:adminadmin 2023-01-15 22:39:10 352

本篇文章给大家谈谈java导出表单,以及excel导出单表对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java列表的内容怎么导成Excel表格呢?

可以用jxl进行Execl的导出,jxl的机制是一个一个的单元格画出来的

我的导出是将table中的每行放到一个list中成为rowList,然后在把每行的rowList放到一个大的List中,这样一来,大的List就包含了所有的数据,然后在jxl中先遍历大的List,然后在循环中在遍历rowList就可以获取所有的数据.

for

(int

i

=

0;

i

20;

i++)

{

for

(int

j

=

0;

j

20;

j++)

{

label

=

new

Label(i,j,

"["+i+","+j+"]",

wcfFCCellTitle);

ws.addCell(label);

}

}

java怎么导出excel表格

通过这个例子,演示以下如何用java生成excel文件:

import org.apache.poi.hssf.usermodel.*;

import java.io.FileOutputStream;

import java.io.IOException;

publicclass CreateCells

{

publicstaticvoid main(String[] args)

throws IOException

{

HSSFWorkbook wb = new HSSFWorkbook();//建立新HSSFWorkbook对象

HSSFSheet sheet = wb.createSheet("new sheet");//建立新的sheet对象

// Create a row and put some cells in it. Rows are 0 based.

HSSFRow row = sheet.createRow((short)0);//建立新行

// Create a cell and put a value in it.

HSSFCell cell = row.createCell((short)0);//建立新cell

cell.setCellValue(1);//设置cell的整数类型的值

// Or do it on one line.

row.createCell((short)1).setCellValue(1.2);//设置cell浮点类型的值

row.createCell((short)2).setCellValue("test");//设置cell字符类型的值

row.createCell((short)3).setCellValue(true);//设置cell布尔类型的值

HSSFCellStyle cellStyle = wb.createCellStyle();//建立新的cell样式

cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));//设置cell样式为定制的日期格式

HSSFCell dCell =row.createCell((short)4);

dCell.setCellValue(new Date());//设置cell为日期类型的值

dCell.setCellStyle(cellStyle); //设置该cell日期的显示格式

HSSFCell csCell =row.createCell((short)5);

csCell.setEncoding(HSSFCell.ENCODING_UTF_16);//设置cell编码解决中文高位字节截断

csCell.setCellValue("中文测试_Chinese Words Test");//设置中西文结合字符串

row.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_ERROR);//建立错误cell

// Write the output to a file

FileOutputStream fileOut = new FileOutputStream("workbook.xls");

wb.write(fileOut);

fileOut.close();

}

}

如何用JAVA语言实现报表导出

就是使用poi工具,你自己去下载poi.jar吧。

public class CreateXL

{

 public static String xlsFile="test.xls"; //产生的Excel文件的名称

 public static void main(String args[])

 {

try

{

 HSSFWorkbook workbook = new HSSFWorkbook(); //产生工作簿对象

 HSSFSheet sheet = workbook.createSheet(); //产生工作表对象

 //设置第一个工作表的名称为firstSheet

 //为了工作表能支持中文,设置字符编码为UTF_16

 workbook.setSheetName(0,"firstSheet",HSSFWorkbook.ENCODING_UTF_16);

 //产生一行

 HSSFRow row = sheet.createRow((short)0);

 //产生第一个单元格

 HSSFCell cell = row.createCell((short) 0);

 //设置单元格内容为字符串型

 cell.setCellType(HSSFCell.CELL_TYPE_STRING);

 //为了能在单元格中写入中文,设置字符编码为UTF_16。

 cell.setEncoding(HSSFCell.ENCODING_UTF_16);

 //往第一个单元格中写入信息

 cell.setCellValue("测试成功");

 FileOutputStream fOut = new FileOutputStream(xlsFile);

 workbook.write(fOut);

 fOut.flush();

 fOut.close();

 System.out.println("文件生成...");

 //以下语句读取生成的Excel文件内容

 FileInputStream fIn=new FileInputStream(xlsFile);

 HSSFWorkbook readWorkBook= new HSSFWorkbook(fIn);

 HSSFSheet readSheet= readWorkBook.getSheet("firstSheet");

 HSSFRow readRow =readSheet.getRow(0);

 HSSFCell readCell = readRow.getCell((short)0);

 System.out.println("第一个单元是:" + readCell.getStringCellValue());

}

catch(Exception e)

{

 System.out.println(e);

}

 }

}

与数据库结合使用

使用POI,结合JDBC编程技术,我们就可以方便地将数据库中的数据导出生成Excel报表。其关键代码如下:

/*把数据集rs中的数据导出至Excel工作表中。

*传入参数:数据集rs,Excel文件名称xlsName,工作表名称sheetName。

*/

public static void resultSetToExcel(ResultSet rs,String xlsName,String sheetName) throws Exception

{

 HSSFWorkbook workbook = new HSSFWorkbook();

 HSSFSheet sheet = workbook.createSheet();

 workbook.setSheetName(0,sheetName,HSSFWorkbook.ENCODING_UTF_16);

 HSSFRow row= sheet.createRow((short)0);;

 HSSFCell cell;

 ResultSetMetaData md=rs.getMetaData();

 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 = new FileOutputStream(xlsName);

 workbook.write(fOut);

 fOut.flush();

 fOut.close();

 JOptionPane.showMessageDialog(null,"导出数据成功!");

}

Java怎么输出一个表格

用java输出数据库表 示例:

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Font;

import java.beans.Statement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

public class Stmessege1 extends JFrame {

private static final long serialVersionUID = 1L;

private JTable table;// 声明表格

void Stmessege11() {

setSize(460, 320);

setVisible(true);

}

public Vector getDataVector() throws SQLException, ClassNotFoundException {

Connection conn = null;

java.sql.Statement stmt = null;

Class.forName("com.mysql.jdbc.Driver");

String dburl = "jdbc:mysql://localhost:3306/hp";

String dbuser = "root";

String dbpassword = "19920102";

conn = DriverManager.getConnection(dburl, dbuser, dbpassword);

stmt = conn.createStatement();

String sql = "select* from xsgli";

ResultSet rs = stmt.executeQuery(sql);

Vector dataVector = new Vector();

while (rs.next()) {

Vector rowVector = new Vector();

for (int i = 1; i = 7; i++) {

if (i == 2 || i == 4) {

rowVector.add(String.valueOf(rs.getInt(i)));

} else {

rowVector.add(rs.getString(i));

}

}

dataVector.add(rowVector);

}

return dataVector;

}

public Vector getColumnVector() {

Vector columnVector = new Vector();

columnVector.add("姓名");

columnVector.add("学号");

columnVector.add("性别");

columnVector.add("班级");

columnVector.add("系别");

columnVector.add("成绩");

columnVector.add("专业");

return columnVector;

}

public Stmessege1() throws SQLException, ClassNotFoundException {

super();

setTitle("学生学籍数据显示");

setBounds(100, 100, 382, 223);

// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Connection conn = null;

Statement stmt = null;

Class.forName("com.mysql.jdbc.Driver");

String dburl = "jdbc:mysql://localhost:3306/hp";

String dbuser = "root";

String dbpassword = "19920102";

conn = DriverManager.getConnection(dburl, dbuser, dbpassword);

java.sql.Statement st = conn.createStatement();

String sql = "select* from xsgli";

ResultSet rs = st.executeQuery(sql);

Vector columnVector = getColumnVector();

Vector dataVector = getDataVector();

final JScrollPane scrollPane = new JScrollPane();

getContentPane().add(scrollPane, BorderLayout.CENTER);

table = new JTable(dataVector, columnVector);

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

scrollPane.setViewportView(table);

}

}

java导出表格只能导出这个页面的 不能够全部导出

导出数据的功能在后台单独写一个action。 将所有的数据查出后导出。

java导出word表格

首先我用的技术是 poi

这是代码,一个工具类得调用

public class WordUtil {

/**

* 基于模板文件导出 word 文档,此方法主要是用来处理文档中需要替换的文本内容,对图片和表格无效

*

* @param templatePath

* 模板文件的路径,要求路径中要包含全名,并且模板文件只能是 07 及以上格式,即 docx 的文件

* @param destFilePath

* 导出文件的存放路径,包含文件名,例如,E:/test/小区公告.docx

* @param data

* 用来替换文档中预定义的字符串,要求预定义的字符串与 data 中的 key 值要相同

*/

public static void exportWordByTemplate(String templatePath,

String destFilePath, MapString, String data) {

FileOutputStream out = null;

XWPFDocument doc = null;

try {

doc = new XWPFDocument(POIXMLDocument.openPackage(templatePath));

ListXWPFRun listRun;

ListXWPFParagraph listParagraphs = doc.getParagraphs();

for (int i = 0; i listParagraphs.size(); i++) {

listRun = listParagraphs.get(i).getRuns();

for (int j = 0; j listRun.size(); j++) {

if (data.get(listRun.get(j).getText(0)) != null) {

String val = data.get(listRun.get(j).getText(0));

listRun.get(j).setText(val, 0);

}

}

}

File destFile = new File(destFilePath);

if (!destFile.getParentFile().exists()) {

destFile.getParentFile().mkdirs();

}

out = new FileOutputStream(destFilePath);

doc.write(out);

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (out != null)

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

/**

* 基于模板文件导出 word 文档,该方法支持03格式,但是此方法只能保留文档内容,不能保留文档中的样式和图片,建议将模板使用 07 的格式保存

*

* @param templatePath

* 模板文件的路径

* @param destFilePath

* 导出文件的存放路径,包含文件名,例如,E:/test/小区公告.doc

* @param data

* 用来替换文档中预定义的字符串,要求预定义的字符串与 data 中的 key 值要相同

*/

public static void export03WordByTemplate(String templatePath,

String destFilePath, MapString, String data) {

try {

WordExtractor doc = new WordExtractor(new FileInputStream(

templatePath));

String content = doc.getText();

for (String key : data.keySet()) {

content = content.replaceAll(key, data.get(key));

}

byte b[] = content.getBytes();

ByteArrayInputStream bais = new ByteArrayInputStream(b);

POIFSFileSystem fs = new POIFSFileSystem();

DirectoryEntry directory = fs.getRoot();

directory.createDocument("WordDocument", bais);

FileOutputStream ostream = new FileOutputStream(destFilePath);

fs.writeFilesystem(ostream);

bais.close();

ostream.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String[] args) throws Exception {

MapString, String maps = new HashMapString, String();

maps.put("appellation", "万达公寓业主:");

maps.put(

"main_body",

"输出的内容");

maps.put("date", "2013年1月23日");

exportWordByTemplate("E:/sss 2.docx", "E:/test/test.doc", maps);

}

}

"E:/sss 2.docx 模板存放的地址。

E:/test/test.doc 新生成的地址。

关于java导出表单和excel导出单表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。