package
com.kaixiang.dmas.helper;
import
java.io.File;
import
java.io.IOException;
import
java.net.URL;
import
java.text.SimpleDateFormat;
import
java.util.Date;
import
java.util.UUID;
import
jxl.Workbook;
import
jxl.format.UnderlineStyle;
import
jxl.write.Label;
import
jxl.write.WritableCellFormat;
import
jxl.write.WritableFont;
import
jxl.write.WritableHyperlink;
import
jxl.write.WritableImage;
import
jxl.write.WritableSheet;
import
jxl.write.WritableWorkbook;
import
jxl.write.WriteException;
import
jxl.write.biff.RowsExceededException;
public
class
TestExl {
public
static
void
main(String args[])
throws
IOException,
RowsExceededException, WriteException {
SimpleDateFormat sdf =
new
SimpleDateFormat(
"/yyyy-MM-dd/"
);
String datePath = sdf.format(
new
Date());
datePath =
"中国石油西部管道输气量交接电子文档"
+ datePath;
String uuidFileName = UUID.randomUUID().toString();
File dir =
new
File(Globals.fielImportPath + datePath);
if
(!dir.exists()) {
dir.mkdirs();
}
String path = Globals.fielImportPath + datePath + uuidFileName +
"."
+
"xls"
;
WritableWorkbook book = Workbook.createWorkbook(
new
File(path));
/**
* 定义与设置Sheet
*/
WritableSheet sheet = book.createSheet(
"sheet"
,
0
);
sheet.setColumnView(
0
,
30
);
sheet.setColumnView(
1
,
30
);
sheet.setColumnView(
2
,
30
);
sheet.setColumnView(
3
,
80
);
sheet.setRowView(
6
,
1000
);
sheet.setRowView(
4
,
1000
);
sheet.setRowView(
5
,
1000
);
/**
* 定义单元格样式
*/
WritableFont wf =
new
WritableFont(WritableFont.ARIAL,
15
,
WritableFont.BOLD,
false
, UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.CORAL);
WritableCellFormat wcf =
new
WritableCellFormat(wf);
wcf.setBackground(jxl.format.Colour.BLACK);
wcf.setAlignment(jxl.format.Alignment.CENTRE);
/**
* 使用样式的单元格
*/
sheet.addCell(
new
Label(
0
,
0
,
"邮箱"
, wcf));
sheet.addCell(
new
Label(
1
,
0
,
"动作"
, wcf));
sheet.addCell(
new
Label(
2
,
0
,
"时间"
, wcf));
sheet.addCell(
new
Label(
0
,
1
,
"nilpower@sina.com"
));
sheet.addCell(
new
Label(
1
,
1
,
"action"
));
sheet.addCell(
new
Label(
2
,
1
,
"time"
));
/**
* excel合并单元格
*/
sheet.addCell(
new
Label(
4
,
0
,
"合并单元格"
, wcf));
sheet.addCell(
new
Label(
4
,
1
,
"测试1"
));
sheet.addCell(
new
Label(
5
,
1
,
"测试2"
));
sheet.addCell(
new
Label(
6
,
1
,
"测试3"
));
sheet.mergeCells(
4
,
0
,
6
,
0
);
/**
* excel图片
*/
sheet.addCell(
new
Label(
0
,
3
,
"展示图片 jxl只支持png格式的"
, wcf));
sheet.mergeCells(
0
,
3
,
3
,
3
);
WritableImage image =
new
WritableImage(
0
,
4
,
3
,
3
, file);
sheet.addImage(image);
/**
* excel链接
*/
sheet.addCell(
new
Label(
0
,
8
,
"excel链接测试"
, wcf));
sheet.mergeCells(
0
,
8
,
2
,
8
);
WritableHyperlink link =
new
WritableHyperlink(
0
,
9
,
new
URL(
link.setDescription(
"链接使用 链接到NilPower"
);
sheet.mergeCells(
0
,
9
,
1
,
9
);
sheet.addHyperlink(link);
book.write();
book.close();
}
}
相关推荐
java jxl Excel 读写 合并单元格 下载 等实例
jxl读取合并单元格
通过一个小例子了解jxl的读取,使用于java初学者。里面用到的包可以在CSDN下载得到。
在实际应用中,你可能需要在服务器端使用Java和JXL处理Excel,然后通过Ajax将结果传递给前端展示。 在提供的压缩包文件`jxl`中,可能包含了JXL库的jar文件以及使用JXL进行操作的Java源代码示例。通过研究这些示例,...
Java使用JXL库进行Excel操作是Java开发中常见的任务,特别是在数据处理、报表生成和数据分析等领域。JXL是一个流行的开源库,它提供了丰富的API来读取、写入和修改Microsoft Excel文件。以下是对这个主题的详细说明...
2中方法:一种递归实现,一种2个for循环实现。根据不同行相同列的值相同,从而合并某个单元格。
- JXL提供了合并单元格的功能,可以通过`sheet.mergeCells(int x1, int y1, int x2, int y2)`方法来实现。 5. **设置HTTP响应头**: - `response.setHeader("Content-disposition", "attachment;filename=student...
在本例中,我们将探讨如何使用JXL库来创建一个Excel文件,并对其进行各种定制,如合并单元格、设置列和单元格的属性,包括字体、宽度、高度、边框样式、背景颜色、自动换行以及对齐方式。 首先,我们需要引入JXL库...
你可以修改单元格内容、插入或删除行列,甚至进行更复杂的操作,比如合并单元格。 4. **处理公式**:JXL支持Excel的内置公式。你可以读取含有公式的单元格,并计算其结果,或者在写入时设置新的公式。 5. **处理...
在描述中提到的“jxl读写该Excel例子合并单元格”,意味着我们将探讨如何使用JXL库来读取已合并单元格的Excel文件,并且创建新的Excel文件时,如何实现单元格的合并功能。 首先,要使用JXL库,你需要在项目中引入它...
然而,JXL的功能远不止于此,它还可以处理更复杂的结构,如合并单元格、插入公式、读取已有Excel文件等。开发者可以根据实际需求进一步探索和利用JXL提供的丰富功能。 总结来说,JXL是Java中处理Excel文件的一个...
JXL则提供了`setColumnGroupClosed()`和`setColumnGroupCollapsed()`方法来合并单元格,但这通常涉及到行组和列组的概念,使用起来相对复杂一些。 总的来说,Java开发者可以通过Apache POI和JExcelAPI轻松地读写...
JXL库还支持合并单元格、插入图片、处理表格样式等功能,提供了丰富的API供开发者使用。 在实际开发中,可以根据业务需求灵活调整上述代码,例如从数据库获取数据,动态生成Excel内容。`writeExcelByJXL`这个文件...
此外,jxl也支持合并单元格,这在创建标题或复合单元格时非常有用。比如: ```java sheet.mergeCells(0, 0, 2, 0); // 合并第一列的前三行 ``` 总的来说,jxl包为Java开发者提供了强大的Excel处理能力,使得在程序...
除了基本的单元格操作,jxl库还支持合并单元格、公式计算、数据验证等功能。例如,要合并单元格,可以使用`Sheet`的`mergeCells()`方法: ```java sheet.mergeCells(new CellRangeAddress(0, 0, 0, 1)); ``` 最后...
Jxl库还提供了更高级的功能,如合并单元格、设置边框、颜色、公式计算等。通过深入学习和实践,开发者可以充分利用Jxl来处理各种复杂的Excel数据操作,从而在Java应用程序中实现数据的导入导出功能。
4. **拆分合并单元格**:如果发现合并单元格,可以使用`Cell.setRow()`和`Cell.setColumn()`方法调整单元格的位置,使其覆盖原来合并范围内的所有单元格。然后,创建新的`Cell`对象来填充这些位置。 5. **填充数据*...
在读取时,你需要考虑合并单元格的样式是否应该应用到整个区域,还是只应用于左上角的单元格。 4. **公式处理**:如果合并单元格中包含公式,JXL可以读取和计算公式的结果。但需要注意的是,公式可能只在左上角...