如何将网页上的表格数据导入到excel(只用POI实现)

czrjsj 2007-06-15 10:04:27
各位大侠:
小弟想将网页上的表单数据,导入到excel中去。公司要求用POI实现,但是我不知道如何提取网页中table的表单数据。用js来实现一个table表单导出,又没有达到公司的要求。请教各位大侠,java如何提取网页中的表格内容?
大概的表单如下:
<table id="tableExcel1" width="100%" border="1" cellspacing="0"
cellpadding="0">

<tr>

<td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td>

</tr>

<tr>

<td>列标题1</td>

<td>列标题2</td>

<td>列标题3</td>

<td>列标题4</td>

<td>列标题5</td>

</tr>

<tr>

<td>aaa</td>

<td>bbb</td>

<td>ccc</td>

<td>ddd</td>

<td>eee</td>

</tr>

<tr>

<td>AAA</td>

<td>BBB</td>

<td>CCC</td>

<td>DDD</td>

<td>EEE</td>

</tr>

<tr>

<td>FFF</td>

<td>GGG</td>

<td>HHH</td>

<td>III</td>

<td>JJJ</td>

</tr>


</table>
<table id="tableExcel2" width="100%" border="1" cellspacing="0"
cellpadding="0">

<tr>

<td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td>

</tr>

<tr>

<td>列标题1</td>

<td>列标题2</td>

<td>列标题3</td>

<td>列标题4</td>

<td>列标题5</td>

</tr>

<tr>

<td>aaa</td>

<td>bbb</td>

<td>ccc</td>

<td>ddd</td>

<td>eee</td>

</tr>

<tr>

<td>AAA</td>

<td>BBB</td>

<td>CCC</td>

<td>DDD</td>

<td>EEE</td>

</tr>

<tr>

<td>FFF</td>

<td>GGG</td>

<td>HHH</td>

<td>III</td>

<td>JJJ</td>

</tr>


</table>
...全文
987 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhr315382403 2011-05-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiaoxingxing330 的回复:]
import java.io.FileOutputStream;
import java.util.Iterator;

import junit.framework.TestCase;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFR……
[/Quote]

可以把这个相关的方法和页面都给我看看吗?我不会做
czrjsj 2007-07-25
  • 打赏
  • 举报
回复
谢谢楼上的,你说的方法我用过了。但是导出来的结果虽然是excel,但不能修改内容。
而且需要对IE进行设置才行,不过还是谢谢了!
yuanjun1107 2007-07-06
  • 打赏
  • 举报
回复
给你一个最简单的方法:
function AllAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel=document.body.createTextRange();
sel.moveToElementText(这里表格的名字);
sel.select();
sel.execCommand("Copy");
oSheet.Paste();
oXL.Visible = true;
}
javascript
用一个按钮调用这个事件就搞定。
许晓星 2007-07-06
  • 打赏
  • 举报
回复
import java.io.FileOutputStream;
import java.util.Iterator;

import junit.framework.TestCase;

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;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

/**
* POI使用方法简单示例
* @author Administrator
*
*/
public class ExcelTest extends TestCase {

//创建Workbook
public void testCreateWorkbook(){

//创建Excel文件
HSSFWorkbook workbook = new HSSFWorkbook();

//创建页
HSSFSheet sheet = workbook.createSheet("Sheet1");

//创建行
HSSFRow row = sheet.createRow(0);

//创建列
HSSFCell cell = row.createCell((short)0);

cell.setCellValue("Hello World!");

try {
//将创建好的Excel文件保存到磁盘上
FileOutputStream output = new FileOutputStream("d:/test.xls");
workbook.write(output);
output.flush();
output.close();

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

//创建Workbook
public void testCreateWorkbook1(){

//创建Excel文件
HSSFWorkbook workbook = new HSSFWorkbook();

//创建页
HSSFSheet sheet = workbook.createSheet("Sheet1");

//创建行
HSSFRow row = sheet.createRow(0);

//创建列
HSSFCell cell = row.createCell((short)0);

//正确设置单元格的编码,才能正确输出中文信息
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("世界你好");

try {
//将创建好的Excel文件保存到磁盘上
FileOutputStream output = new FileOutputStream("d:/test1.xls");
workbook.write(output);
output.flush();
output.close();

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

/**
* 读取Excel文档的方法
*/
public void testReadWorkbook(){
try {

//读取test_template.xls文件
POIFSFileSystem ps = new POIFSFileSystem(
Thread.currentThread().getContextClassLoader().getResourceAsStream("test_template.xls")
);

HSSFWorkbook workbook = new HSSFWorkbook(ps);

//获取第一页的数据
HSSFSheet sheet = workbook.getSheetAt(0);

Iterator rows = sheet.rowIterator();
while(rows.hasNext()){
System.out.println();
HSSFRow row = (HSSFRow)rows.next();
Iterator cells = row.cellIterator();
while(cells.hasNext()){
HSSFCell cell = (HSSFCell)cells.next();
System.out.print(cell.getStringCellValue()+"\t");
}
}

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

/**
* 读取Excel文档的方法
*/
public void testReadWorkbook1(){
try {

//读取test_template.xls文件
POIFSFileSystem ps = new POIFSFileSystem(
Thread.currentThread().getContextClassLoader().getResourceAsStream("test_template.xls")
);

HSSFWorkbook workbook = new HSSFWorkbook(ps);

//获取第一页的数据
HSSFSheet sheet = workbook.getSheetAt(0);

Iterator rows = sheet.rowIterator();
while(rows.hasNext()){
System.out.println();
HSSFRow row = (HSSFRow)rows.next();

//获得最后一个单元格的编号
int cellLength = row.getLastCellNum();

//按顺序读取单元格的值
for(int i=0; i < cellLength; i++){
HSSFCell cell = row.getCell((short)i);
System.out.print(cell.getStringCellValue()+"\t");
}
}

} catch (Exception e) {
e.printStackTrace();
}
}
}
czrjsj 2007-07-05
  • 打赏
  • 举报
回复
如何读取页面上的内容?可否举个例子?
MyDream83 2007-06-22
  • 打赏
  • 举报
回复
up
pinetreexia 2007-06-22
  • 打赏
  • 举报
回复
1)读取页面上的内容.
2)一行一行,一列列的写入EXCEL中啊.
czrjsj 2007-06-15
  • 打赏
  • 举报
回复
高手呢?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧