`

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<Range> _v_listRange = new ArrayList<Range>(); // 换一个方式存储合并的单元格
List<Range> _v_listRange2 = new ArrayList<Range>(); // 存储用过的合并单元格
// 赋值
for (Range r : _v_rs)
_v_listRange.add(r);
String _v_string = "<table>\r\n";
for (int i = 0; i < _v_s.getRows(); i++) {
_v_string += "\t<tr>\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<td rowspan=\"" + (r3 - r2 + 1)
+ "\" colspan=\"" + (c3 - c2 + 1)
+ "\">\r\n\t\t\t"
+ _v_c.getContents().replaceAll("\n", "")
+ "\r\n\t\t</td>\r\n";
_v_i += (c3 - c2);
b = false;
_v_listRange2.add(_v_range);
}
}
}
}
if (b && bool) {
_v_string += "\t\t<td>\r\n\t\t\t"
+ _v_c.getContents().replaceAll("\n", "")
+ "\r\n\t\t</td>\r\n";
}
}
_v_string += "\t</tr>\r\n";
}
_v_string += "</table>";
PrintWriter _v_pw = new PrintWriter("E:\\33333333333.txt");
_v_pw.println(_v_string);
_v_pw.flush();
_v_pw.close();
System.out.println(_v_string);
}

}
分享到:
评论
1 楼 pinus 2017-10-20  
不错,学习了~~~

相关推荐

Global site tag (gtag.js) - Google Analytics