java excel导出html_java读取Excel导出Html对应的table代码

package jxl.bp;

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;

import jxl.Cell;

import jxl.Range;

import jxl.Sheet;

import jxl.Workbook;

import jxl.read.biff.BiffException;

public class Run {

public static void main(String[] args) throws BiffException, IOException {

new Run()._m_readExcel();

}

public void _m_readExcel() throws BiffException, IOException {

String _v_filePath = "E:\\222222222222222.xls";

File _v_excelFile = new File(_v_filePath);

Workbook _v_wb = Workbook.getWorkbook(_v_excelFile);

Sheet _v_s = _v_wb.getSheet(1); // 只做了一个Sheet的, 如果想全部遍历, 只需要套入循环内即可

Range[] _v_rs = _v_s.getMergedCells(); // 得到当前Sheet里面合并的单元格个数

List _v_listRange = new ArrayList(); // 换一个方式存储合并的单元格

List _v_listRange2 = new ArrayList(); // 存储用过的合并单元格

// 赋值

for (Range r : _v_rs)

_v_listRange.add(r);

String _v_string = "

for (int i = 0; i < _v_s.getRows(); i++) {

_v_string += "\t

\r\n";

Cell[] _v_cs = _v_s.getRow(i);

for (int _v_i = 0; _v_i < _v_cs.length; _v_i++) {

Cell _v_c = _v_cs[_v_i];

boolean b = true; // 表示是否是合并的单元格

boolean bool = true; // 表示是否已经判断过了

// 判断是否已经用完了合并的单元格, 为用完则循环判断

if(_v_listRange2.size() < _v_listRange.size()) {

// 判断是否已经用过合并的单元格了, 即对bool进行赋值

for (Range range : _v_listRange2) {

Cell _v_tlCell = range.getTopLeft();

Cell _v_blCell = range.getBottomRight();

int c1 = _v_c.getColumn(), c2 = _v_tlCell.getColumn(), c3 = _v_blCell

.getColumn();

int r1 = _v_c.getRow(), r2 = _v_tlCell.getRow(), r3 = _v_blCell

.getRow();

if (c1 >= c2 && c1 <= c3 && r1 >= r2 && r1 <= r3)

bool = false;

}

if (bool) {

for (Range _v_range : _v_listRange) {

Cell _v_tlCell = _v_range.getTopLeft();

Cell _v_blCell = _v_range.getBottomRight();

int c1 = _v_c.getColumn(), c2 = _v_tlCell.getColumn(), c3 = _v_blCell

.getColumn();

int r1 = _v_c.getRow(), r2 = _v_tlCell.getRow(), r3 = _v_blCell

.getRow();

// 判断是否是合并的单元格

if (c1 >= c2 && c1 <= c3 && r1 >= r2 && r1 <= r3) {

_v_string += "\t\t

+ "\" colspan=\"" + (c3 - c2 + 1)

+ "\">\r\n\t\t\t"

+ _v_c.getContents().replaceAll("\n", "")

+ "\r\n\t\t

\r\n";

_v_i += (c3 - c2);

b = false;

_v_listRange2.add(_v_range);

}

}

}

}

if (b && bool) {

_v_string += "\t\t

\r\n\t\t\t"

+ _v_c.getContents().replaceAll("\n", "")

+ "\r\n\t\t

\r\n";

}

}

_v_string += "\t

\r\n";

}

_v_string += "

";

PrintWriter _v_pw = new PrintWriter("E:\\33333333333.txt");

_v_pw.println(_v_string);

_v_pw.flush();

_v_pw.close();

System.out.println(_v_string);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值