barriers / 阅读 / 详情

帮帮忙 jsp如何把数据库里的数据生成excel文档

2023-05-29 09:53:37

帮帮忙,明天就要答辩了,我这个功能还没有实现,谢谢
就是通过select 可以把 查询结果生成excel文档....
我想要就是包含在<% %>中的程序怎么写,我不想要.java文件啊

TAG: ex
共4条回复
Chen

可以联系我,给你jxl.jar

========================

jxl.jar

开放分类: java

通过java操作excel表格的工具类库

支持Excel 95-2000的所有版本

生成Excel 2000标准格式

支持字体、数字、日期操作

能够修饰单元格属性

支持图像和图表

应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。

搭建环境

将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。

基本操作

一、创建文件

拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:

代码(CreateXLS.java):

//生成Excel的类

import java.io.*;

import jxl.*;

import jxl.write.*;

public class CreateXLS

{

public static void main(String args[])

{

try

{

//打开文件

WritableWorkbook book=

Workbook.createWorkbook(new File(“测试.xls”));

//生成名为“第一页”的工作表,参数0表示这是第一页

WritableSheet sheet=book.createSheet(“第一页”,0);

//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)

//以及单元格内容为test

Label label=new Label(0,0,”test”);

//将定义好的单元格添加到工作表中

sheet.addCell(label);

/*生成一个保存数字的单元格

必须使用Number的完整包路径,否则有语法歧义

单元格位置是第二列,第一行,值为789.123*/

jxl.write.Number number = new jxl.write.Number(1,0,789.123);

sheet.addCell(number);

//写入数据并关闭文件

book.write();

book.close();

}catch(Exception e)

{

System.out.println(e);

}

}

}

编译执行后,会在当前位置产生一个Excel文件。

二、读取文件

以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:

//读取Excel的类

import java.io.*;

import jxl.*;

public class ReadXLS

{

public static void main(String args[])

{

try

{

Workbook book=

Workbook.getWorkbook(new File(“测试.xls”));

//获得第一个工作表对象

Sheet sheet=book.getSheet(0);

//得到第一列第一行的单元格

Cell cell1=sheet.getCell(0,0);

String result=cell1.getContents();

System.out.println(result);

book.close();

}catch(Exception e)

{

System.out.println(e);

}

}

}

程序执行结果:test

四、修改文件

利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他操作和创建Excel是一样的。下面的例子是在我们已经生成的Excel文件中添加一个工作表:

//修改Excel的类,添加一个工作表

import java.io.*;

import jxl.*;

import jxl.write.*;

public class UpdateXLS

{

public static void main(String args[])

{

try

{

//Excel获得文件

Workbook wb=Workbook.getWorkbook(new File(“测试.xls”));

//打开一个文件的副本,并且指定数据写回到原文件

WritableWorkbook book=

Workbook.createWorkbook(new File(“测试.xls”),wb);

//添加一个工作表

WritableSheet sheet=book.createSheet(“第二页”,1);

sheet.addCell(new Label(0,0,”第二页的测试数据”));

book.write();

book.close();

}catch(Exception e)

{

System.out.println(e);

}

}

}

三、高级操作

数据格式化

在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。

1、 字串格式化

字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和WritableCellFormat类来负责。假设我们在生成一个含有字串的单元格时,使用如下语句,为方便叙述,我们为每一行命令加了编号:

WritableFont font1=

new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD); 或//设置字体格式为excel支持的格式 WritableFont font3=new WritableFont(WritableFont.createFont("楷体_GB2312"),12,WritableFont.NO_BOLD );① WritableCellFormat format1=new WritableCellFormat(font1); ② Label label=new Label(0,0,”data 4 test”,format1) ③ 其中①指定了字串格式:字体为TIMES,字号16,加粗显示。WritableFont有非常丰富的构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。 ②处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,后面的单元格格式化中会有更多描述。 ③处使用了Label类的构造子,指定了字串被赋予那种格式。 在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式,比如针对我们上面的实例,可以指定:

//把水平对齐方式指定为居中

format1.setAlignment(jxl.format.Alignment.CENTRE);

//把垂直对齐方式指定为居中

format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

//设置自动换行

format1.setWrap(true);

单元格操作

Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。

1、 合并单元格

WritableSheet.mergeCells(int m,int n,int p,int q);

作用是从(m,n)到(p,q)的单元格全部合并,比如:

WritableSheet sheet=book.createSheet(“第一页”,0);

//合并第一列第一行到第六列第一行的所有单元格

sheet.mergeCells(0,0,5,0);

合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。

2、 行高和列宽

WritableSheet.setRowView(int i,int height);

作用是指定第i+1行的高度,比如:

//将第一行的高度设为200

sheet.setRowView(0,200);

WritableSheet.setColumnView(int i,int width);

作用是指定第i+1列的宽度,比如:

//将第一列的宽度设为30

sheet.setColumnView(0,30);

四、操作图片

public static void write()throws Exception{

WritableWorkbook wwb=Workbook.createWorkbook(new File("c:/1.xls"));

WritableSheet ws=wwb.createSheet("Test Sheet 1",0);

File file=new File("C:\jbproject\PVS\WebRoot\weekhit\1109496996281.png");

WritableImage image=new WritableImage(1, 4, 6, 18,file);

ws.addImage(image);

wwb.write();

wwb.close();

}

很简单和插入单元格的方式一样,不过就是参数多了些,WritableImage这个类继承了Draw,上面只是他构造方法的一种,最后一个参数不用了说了,前面四个参数的类型都是double,依次是 x, y, width, height,注意,这里的宽和高可不是图片的宽和高,而是图片所要占的单位格的个数,因为继承的Draw所以他的类型必须是double,具体里面怎么实现的我还没细看:)因为着急赶活,先完成功能,其他的以后有时间慢慢研究。以后会继续写出在使用中的心得给大家。

读:

读的时候是这样的一个思路,先用一个输入流(InputStream)得到Excel文件,然后用jxl中的Workbook得到工作薄,用Sheet从工作薄中得到工作表,用Cell得到工作表中得某个单元格.

InputStream->Workbook->Sheet->Cell,就得到了excel文件中的单元格

代码:

String path="c:\excel.xls";//Excel文件URL

InputStream is = new FileInputStream(path);//写入到FileInputStream

jxl.Workbook wb = Workbook.getWorkbook(is); //得到工作薄

jxl.Sheet st = wb.getSheet(0);//得到工作薄中的第一个工作表

Cell cell=st.getCell(0,0);//得到工作表的第一个单元格,即A1

String content=cell.getContents();//getContents()将Cell中的字符转为字符串

wb.close();//关闭工作薄

is.close();//关闭输入流

我们可以通过Sheet的getCell(x,y)方法得到任意一个单元格,x,y和excel中的坐标对应.

例如A1对应(0,0),A2对应(0,1),D3对应(3,2).Excel中坐标从A,1开始,jxl中全部是从0开始.

还可以通过Sheet的getRows(),getColumns()方法得到行数列数,并用于循环控制,输出一个sheet中的所有内容.

写:

往Excel中写入内容主要是用jxl.write包中的类.

思路是这样的:

OutputStream<-WritableWorkbook<-WritableSheet<-Label

这里面Label代表的是写入Sheet的Cell位置及内容.

代码:

OutputStream os=new FileOutputStream("c:\test.xls");//输出的Excel文件URL

WritableWorkbook wwb = Workbook.createWorkbook(os);//创建可写工作薄

WritableSheet ws = wwb.createSheet("sheet1", 0);//创建可写工作表

Label labelCF=new Label(0, 0, "hello");//创建写入位置和内容

ws.addCell(labelCF);//将Label写入sheet中

Label的构造函数Label(int x, int y,String aString)xy意同读的时候的xy,aString是写入的内容.

WritableFont wf = new WritableFont(WritableFont.TIMES, 12, WritableFont.BOLD, false);//设置写入字体

WritableCellFormat wcfF = new WritableCellFormat(wf);//设置CellFormat

Label labelCF=new Label(0, 0, "hello");//创建写入位置,内容和格式

Label的另一构造函数Label(int c, int r, String cont, CellFormat st)可以对写入内容进行格式化,设置字体及其它的属性.

现在可以写了

wwb.write();

写完后关闭

wwb.close();

输出流也关闭吧

os.close;

OK,只要把读和写结合起来,就可以在N个Excel中读取数据写入你希望的Excel新表中,还是比较方便的.

下面是程序一例:

程序代码:sql = "select * from tablename";

rs = stmt.executeQuery(sql);

//新建Excel文件

String filePath=request.getRealPath("aaa.xls");

File myFilePath=new File(filePath);

if(!myFilePath.exists())

myFilePath.createNewFile();

FileWriter resultFile=new FileWriter(myFilePath);

PrintWriter myFile=new PrintWriter(resultFile);

resultFile.close();

//用JXL向新建的文件中添加内容

OutputStream outf = new FileOutputStream(filePath);

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(outf);

jxl.write.WritableSheet ws = wwb.createSheet("sheettest", 0);

int i=0;

int j=0;

for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {

ws.addCell(new Label(k,0,rs.getMetaData().getColumnName(k+1)));

}

while(rs.next()){

out.println(rs.getMetaData().getColumnCount());

for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {

ws.addCell(new Label(k,j+i+1,rs.getString(k+1)));

}

i++;

}

wwb.write();

wwb.close();

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

finally{

rs.close();

conn.close();

}

response.sendRedirect("aaa.xls");

左迁
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
windows环境下,由于有Excel驱动,直接操作Application.Excel对象就可以。
linux&Unix下就用poi或jxl吧
以前做过poi的例子,给你个主要代码吧。
里面包含两个函数,一个是导入,一个是导出:
导入,导出时对整数和日期型数据要格外注意。
另外,给你个用T-Sql导出Excel的例子,别人的。
其实java代码写在哪里无所谓,只要能调用就可以,你可以将java文件当成一个servlet。导出的时候,按钮事件直接调用这个servlet就可以了。不必写的jsp页面里面。如果必须写在页面里面,就当做声明代码段吧。

我想你想写在<% %>标记里面,是想输出文件到客户端,而不是只在服务器端建立文件,是这样吧?
其实当你建立文件后,只用response.sendRedirect("文件路径+文件名"); 就可以输出出来。
package com.inlookme.service;

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

import com.inlookme.dao.WatchDataDAO;
import com.inlookme.entity.WatchData;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class DaoTable {

public DaoTable() {
}

public boolean InToTable(String filename) {
WatchDataDAO dao=new WatchDataDAO();
Transaction transaction=dao.getSession().beginTransaction();
try {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filename));
HSSFSheet aSheet = workbook.getSheetAt(0);//获得一个sheet
for (int rowNumOfSheet = 1; rowNumOfSheet <= aSheet.getLastRowNum(); rowNumOfSheet++) {
if (null != aSheet.getRow(rowNumOfSheet)) {
HSSFRow aRow = aSheet.getRow(rowNumOfSheet);
WatchData watchData=new WatchData();
HSSFCell Cell1 = aRow.getCell(1);
watchData.setTetranetwork(Cell1.getRichStringCellValue().getString());
HSSFCell Cell2 = aRow.getCell(2);
//System.out.println(Cell2.getCellType());
if(Cell2.getCellType()==HSSFCell.CELL_TYPE_NUMERIC)
{
if(HSSFDateUtil.isCellDateFormatted(Cell2))
{
double d=Cell2.getNumericCellValue();
watchData.setTimeLog(HSSFDateUtil.getJavaDate(d));
}
}else if (Cell2.getCellType()==HSSFCell.CELL_TYPE_STRING) {
SimpleDateFormat sFormat=new SimpleDateFormat("dd-MM-yyyy");
watchData.setTimeLog(sFormat.parse(Cell2.getRichStringCellValue().getString()));

} else{
watchData.setTimeLog(Cell2.getDateCellValue());
}

HSSFCell Cell3 = aRow.getCell(3);
watchData.setChRes((int)Cell3.getNumericCellValue());
HSSFCell Cell4 = aRow.getCell(4);
watchData.setQueuedChRes((int)Cell4.getNumericCellValue());
HSSFCell Cell5 = aRow.getCell(5);
watchData.setTbscalltime((int)Cell5.getNumericCellValue());
dao.save(watchData);
}
}
t*********.commit();
//System.out.println("导入完成");

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

return true;

}

public boolean OutToExecl( String filename) {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
workbook.setSheetName(0, "Sheet1");
WatchDataDAO daoDataDAO = new WatchDataDAO();
HSSFRow row = sheet.createRow(0);
HSSFCell cell0;
HSSFCell cell1;
HSSFCell cell2;
HSSFCell cell3;
HSSFCell cell4;
HSSFCell cell5;
cell0 = row.createCell(0);
cell0.setCellType(HSSFCell.CELL_TYPE_STRING);

cell0.setCellValue("ID");
cell1 = row.createCell(1);
cell1.setCellType(HSSFCell.CELL_TYPE_STRING);
cell1.setCellValue("TETRA Network");
cell2 = row.createCell(2);
cell2.setCellType(HSSFCell.CELL_TYPE_STRING);
cell2.setCellValue("Time");
cell3 = row.createCell(3);
cell3.setCellType(HSSFCell.CELL_TYPE_STRING);
cell3.setCellValue("CH_RES");
cell4 = row.createCell(4);
cell4.setCellType(HSSFCell.CELL_TYPE_STRING);
cell4.setCellValue("QUEUED_CH_RES");
cell5 = row.createCell(5);
cell5.setCellType(HSSFCell.CELL_TYPE_STRING);
cell5.setCellValue("TBVSCallTime");

List<WatchData> list = daoDataDAO.findAll();
int rownum = 1;
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
WatchData wt = (WatchData) iterator.next();
row = sheet.createRow(rownum);
cell0 = row.createCell(0);
//cell0.setCellType(HSSFCell.CELL_TYPE_STRING);
cell0.setCellValue(wt.getId());
cell1 = row.createCell(1);
//cell1.setCellType(HSSFCell.CELL_TYPE_STRING);
cell1.setCellValue(wt.getTetranetwork());
cell2 = row.createCell(2);
//cell2.setCellType(HSSFCell.CELL_TYPE_FORMULA);
HSSFCellStyle cellStyle = workbook.createCellStyle();
short df=workbook.createDataFormat().getFormat("dd/mm/yy");
cellStyle.setDataFormat(df);
//cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("dd/mm/yy"));
cell2.setCellValue(wt.getTimeLog());
cell2.setCellStyle(cellStyle);
cell3 = row.createCell(3);
//cell3.setCellType(HSSFCell.CELL_TYPE_STRING);
cell3.setCellValue(wt.getChRes());
cell4 = row.createCell(4);
//cell4.setCellType(HSSFCell.CELL_TYPE_STRING);
cell4.setCellValue(wt.getQueuedChRes());
cell5 = row.createCell(5);
//cell5.setCellType(HSSFCell.CELL_TYPE_STRING);
cell5.setCellValue(wt.getTbscalltime());
rownum++;

}

try {
FileOutputStream fOut = new FileOutputStream(filename);
workbook.write(fOut);
System.out.println("文件创建成功");
fOut.flush();
fOut.close();
System.out.println("文件创建路径为:" + filename);
} catch (Exception e) {
e.printStackTrace();
return false;
}

return true;
}
}

--------------------------------------
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>procedure-excel</title></head>
<body>
<%
String url="jdbc:sqlserver://localhost:1433; DatabaseName=myDatabase";
String user="sa";
String password="1234";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn=DriverManager.getConnection(url,user,password);
String sql="execute GetExcel";
CallableStatement cstm=conn.prepareCall("{call master..xp_cmdshell (?)}");
String table="myDatabase.dbo.msg";
String path="D:\apache-tomcat-6.0.18\webapps\Homework\temp.xls";
cstm.setString(1,"bcp "+table+" out "+path+" -c -q -S"(local)" -U"sa" -P"1234"");
cstm.execute();
response.sendRedirect("temp.xls");
%>
</body>
</html>
http://yubo-hust.j*****.com/blog/377765
S笔记
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
直接生成以逗号分隔开的csv文件就可以用excel打开了
如果有格式要求的话,就需要使用Jakarta POI API
下面这篇文章介绍了如何使用java操作excel,
http://blog.c*****.com/blog-htm-do-showone-uid-68246-type-blog-itemid-437589.html
要是懂vb的话 直接用另外一个vbs调用excelapplication处理生成的csv文件也是不错的选择,因为vbs基本上是可以完全控制excel的
贝贝

需要用jxl.jar组件,将此jar包导入工程。

应用一个例子吧:

import java.io.*;

import java.text.SimpleDateFormat;

import java.util.*;

import java.sql.*;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

import jxl.*;

public class SimUpdate {

private String fileName;

public SimUpdate(String fileName){

this.fileName = fileName;

}

static Map tNames;

static{

tNames = new HashMap();

}

//下面是主要代码

private void updateDb(){

try{

Connection conn = DbPool.connectDB();

if(conn != null){

Statement stmt = conn.createStatement();

/**********************************************/

jxl.Workbook rwb = null;

try{

//构建Workbook对象 只读Workbook对象

//直接从本地文件创建Workbook

//从输入流创建Workbook

InputStream is = new FileInputStream(fileName);

rwb = Workbook.getWorkbook(is);

//Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中

//Sheet的下标是从0开始的

//获取第一张Sheet表

Sheet rs = rwb.getSheet(0);

//获取Sheet表中所包含的总列数

int rsColumns = rs.getColumns();

//获取Sheet表中所包含的总行数

int rsRows = rs.getRows();

//获取指这下单元格的对象引用

String simNumber = "",termSeqId = "";

//指定SIM卡号及序列号

for(int i=0;i<rsRows;i++){

for(int j=0;j<rsColumns;j++){

Cell cell = rs.getCell(j,i);

if(j==0){

simNumber = cell.getContents();//这里是猎取你要的参数,和下面一样

}

if(j == 1){

termSeqId = cell.getContents();

}

}

String sql = "update ....";//SQL语句

int isOk = stmt.executeUpdate(sql);

if(isOk == 0){

String insertSql = "insert....";//SQL语句

int isAdd = stmt.executeUpdate(insertSql);

if(isAdd > 0){

System.out.println("成功插入第"+i+"条数据");

}

}

}

//以下代码为写入新的EXCEL,这里不使用,所以注释

/*

//利用已经创建的Excel工作薄创建新的可写入的Excel工作薄

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("D://Book2.xls"),rwb);

//读取第一张工作表

jxl.write.WritableSheet ws = wwb.getSheet(0);

//获取第一个单元格对象

jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

//决断单元格的类型,做出相应的转化

if (wc.getType() == CellType.LABEL) {

Label l = (Label) wc;

l.setString("The value has been modified.");

}

//写入Excel对象

wwb.write();

wwb.close();

*/

}catch(Exception e){

e.printStackTrace();

}

finally{

//操作完成时,关闭对象,翻译占用的内存空间

rwb.close();

}

/*********************************************/

}

}catch(Exception e){

e.printStackTrace();

}

}

}

相关推荐

JXL格式的定义

在我们使用jxl进行导也操作时,我们常用的就是直接导出数据,最简单的当然是没特殊格式的数据,只是简单的几行几列。 但是有些情况下我们用户需要导出一些特定的格式怎么办呢,我下面总结一下,常用到的几个格式。 1)定义写入文本的对齐方式。 注:这里我们使用setAlignment方法,WritableCellFormat 类型用于设置和定义单元格格式,Alignment中有LEFT,RIGHT定义,分别对应于左对齐,右对齐和居中等。 2)定义写入的背景色和边框颜色和样式 注:这里就是使用WritableCellFormat类中的setBackground方法来设置背景颜色,其实很多的格式设置都是通过WritableCellFormat 来完成的。Colour中有很多的颜色定义,我们可以在里面找到自己所需要的颜色。
2023-05-29 09:46:351

电感的阻值为什么等于jXL?

使用复变函数表示电感时,由电感的物理特性,电感电流落后电感电压90°如果以电感电流为标准,那么电压为jwLI电感为:jwLI/I=jwL而定义XL=WL所以电感的等效阻抗为:jXL
2023-05-29 09:47:532

JXL如何修改Excel文件中指定单元格的内容?

正好写了一个,给你参考~public static void modifyExcel(String excelpath){ try { jxl.Workbook wb =null; //创建一个workbook对象 try { InputStream is = new FileInputStream(excelpath); //创建一个文件流,读入Excel文件 wb = Workbook.getWorkbook(is); //将文件流写入到workbook对象 } catch (BiffException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // jxl.Workbook 对象是只读的,所以如果要修改Excel,需要创建一个可读的副本,副本指向原Excel文件(即下面的new File(excelpath)) jxl.write.WritableWorkbook wbe= Workbook.createWorkbook(new File(excelpath), wb);//创建workbook的副本 WritableSheet sheet = wbe.getSheet(0); //获取第一个sheet WritableCell cell =sheet.getWritableCell(0, 0);//获取第一个单元格 jxl.format.CellFormat cf = cell.getCellFormat();//获取第一个单元格的格式 jxl.write.Label lbl = new jxl.write.Label(0, 0, "修改后的值");//将第一个单元格的值改为“修改後的值” lbl.setCellFormat(cf);//将修改后的单元格的格式设定成跟原来一样 sheet.addCell(lbl);//将改过的单元格保存到sheet wbe.write();//将修改保存到workbook --》一定要保存 wbe.close();//关闭workbook,释放内存 ---》一定要释放内存 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (WriteException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
2023-05-29 09:48:132

jxl (java excel api ) 读取直接用公式计算出来的值是多少?

jxl是打开excel格式的文件读取单元格内容的,formula设置公式的单元格在没有excel程序打开的情况下是不会自动计算的。“他所读出来的值都为4”4可能代表单元格的类型,公式类型。
2023-05-29 09:49:121

jxl 改变Excel字体颜色

Workbook template = Workbook.getWorkbook( File类型 );// 读取模板WritableWorkbook workbook = Workbook.createWorkbook(OS, template);//生产新文件sheet.getCell( i , j ).getContents();,//获取某单元格的数据 String类型=======================================================//添加带有字体颜色,带背景颜色 Formatting的对象 jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD,false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED); jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc); wcfFC.setBackground(jxl.format.Colour.BLUE);jxl.write.Label labelCFC = new jxl.write.Label(1,5,"带颜色",wcfFC); sheet.addCell(labelCFC); 你看看可不可以利用
2023-05-29 09:49:321

JXL如何修改Excel文件中指定单元格的内容???

1、点击“开始”→格式设为“文本/数字/常规”进行测试。2、日期列则按快捷键“Ctrl+H”,在查找文字处输入“-”,替换处依旧输入“-”并点击全部替换。(其他内容同理)
2023-05-29 09:49:472

golang怎么通过数据流直接生成excel上传至oss

import java.io.*; import jxl.*; … … … … try { //构建Workbook对象, 只读Workbook对象 //直接从本地文件创建Workbook //从输入流创建Workbook InputStream is = new FileInputStream(sourcefile); jxl.Workbook rwb = Workbook.getWorkbook(is); } catch (Exception e) { e.printStackTrace(); } 一旦创建了Workbook,我们就可以通过它来访问Excel Sheet(术语:工作表)。参考下面的代码片段: //获取第一张Sheet表 Sheet rs = rwb.getSheet(0); 我们既可能通过Sheet的名称来访问它,也可以通过下标来访问它。如果通过下标来访问的话,要注意的一点是下标从0开始,就像数组一样。 一旦得到了Sheet,我们就可以通过它来访问Excel Cell(术语:单元格)。参考下面的代码片段: //获取第一行,第一列的值 Cell c00 = rs.getCell(0, 0); String strc00 = c00.getContents(); //获取第一行,第二列的值 Cell c10 = rs.getCell(1, 0); String strc10 = c10.getContents(); //获取第二行,第二列的值 Cell c11 = rs.getCell(1, 1); String strc11 = c11.getContents(); System.out.println("Cell(0, 0)" + " value : " + strc00 + "; type : " + c00.getType()); System.out.println("Cell(1, 0)" + " value : " + strc10 + "; type : " + c10.getType()); System.out.println("Cell(1, 1)" + " value : " + strc11 + "; type : " + c11.getType()); 如果仅仅是取得Cell的值,我们可以方便地通过getContents()方法,它可以将任何类型的Cell值都作为一个字符串返回。示例代码中Cell(0, 0)是文本型,Cell(1, 0)是数字型,Cell(1,1)是日期型,通过getContents(),三种类型的返回值都是字符型。 如果有需要知道Cell内容的确切类型,API也提供了一系列的方法。参考下面的代码片段: String strc00 = null; double strc10 = 0.00; Date strc11 = null; Cell c00 = rs.getCell(0, 0); Cell c10 = rs.getCell(1, 0); Cell c11 = rs.getCell(1, 1); if(c00.getType() == CellType.LABEL) { LabelCell labelc00 = (LabelCell)c00; strc00 = labelc00.getString(); } if(c10.getType() == CellType.NUMBER) { NmberCell numc10 = (NumberCell)c10; strc10 = numc10.getValue(); } if(c11.getType() == CellType.DATE) { DateCell datec11 = (DateCell)c11; strc11 = datec11.getDate(); } System.out.println("Cell(0, 0)" + " value : " + strc00 + "; type : " + c00.getType()); System.out.println("Cell(1, 0)" + " value : " + strc10 + "; type : " + c10.getType()); System.out.println("Cell(1, 1)" + " value : " + strc11 + "; type : " + c11.getType()); 在得到Cell对象后,通过getType()方法可以获得该单元格的类型,然后与API提供的基本类型相匹配,强制转换成相应的类型,最后调用相应的取值方法getXXX(),就可以得到确定类型的值。API提供了以下基本类型,与Excel的数据格式相对应,如下图所示: 每种类型的具体意义,请参见Java Excel API Document。 当你完成对Excel电子表格数据的处理后,一定要使用close()方法来关闭先前创建的对象,以释放读取数据表的过程中所占用的内存空间,在读取大量数据时显得尤为重要。参考如下代码片段: //操作完成时,关闭对象,释放占用的内存空间 rwb.close(); Java Excel API提供了许多访问Excel数据表的方法,在这里我只简要地介绍几个常用的方法,其它的方法请参考附录中的Java Excel API Document。 • Workbook类提供的方法 1. int getNumberOfSheets() 获得工作薄(Workbook)中工作表(Sheet)的个数,示例: jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); int sheets = rwb.getNumberOfSheets(); 2. Sheet[] getSheets() 返回工作薄(Workbook)中工作表(Sheet)对象数组,示例: jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); Sheet[] sheets = rwb.getSheets(); 3. String getVersion() 返回正在使用的API的版本号,好像是没什么太大的作用。 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); String apiVersion = rwb.getVersion(); • Sheet接口提供的方法 1. String getName() 获取Sheet的名称,示例: jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); jxl.Sheet rs = rwb.getSheet(0); String sheetName = rs.getName(); 2. int getColumns() 获取Sheet表中所包含的总列数,示例: jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); jxl.Sheet rs = rwb.getSheet(0); int rsColumns = rs.getColumns(); 3. Cell[] getColumn(int column) 获取某一列的所有单元格,返回的是单元格对象数组,示例: jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); jxl.Sheet rs = rwb.getSheet(0); Cell[] cell = rs.getColumn(0); 4. int getRows() 获取Sheet表中所包含的总行数,示例: jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); jxl.Sheet rs = rwb.getSheet(0); int rsRows = rs.getRows(); 5. Cell[] getRow(int row) 获取某一行的所有单元格,返回的是单元格对象数组,示例子: jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); jxl.Sheet rs = rwb.getSheet(0); Cell[] cell = rs.getRow(0); 6. Cell getCell(int column, int row) 获取指定单元格的对象引用,需要注意的是它的两个参数,第一个是列数,第二个是行数,这与通常的行、列组合有些不同。 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); jxl.Sheet rs = rwb.getSheet(0); Cell cell = rs.getCell(0, 0); 生成新的Excel工作薄 下面的代码主要是向大家介绍如何生成简单的Excel工作表,在这里单元格的内容是不带任何修饰的(如:字体,颜色等等),所有的内容都作为字符串写入。(完整代码见ExcelWriting.java) 与读取Excel工作表相似,首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象,这里要注意的是,只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,因为类WritableWorkbook的构造函数为protected类型。示例代码片段如下: import java.io.*; import jxl.*; import jxl.write.*; … … … … try { //构建Workbook对象, 只读Workbook对象 //Method 1:创建可写入的Excel工作薄 jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile)); //Method 2:将WritableWorkbook直接写入到输出流 /* OutputStream os = new FileOutputStream(targetfile); jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os); */ } catch (Exception e) { e.printStackTrace(); } API提供了两种方式来处理可写入的输出流,一种是直接生成本地文件,如果文件名不带全路径的话,缺省的文件会定位在当前目录,如果文件名带有全路径的话,则生成的Excel文件则会定位在相应的目录;另外一种是将Excel对象直接写入到输出流,例如:用户通过浏览器来访问Web服务器,如果HTTP头设置正确的话,浏览器自动调用客户端的Excel应用程序,来显示动态生成的Excel电子表格。 接下来就是要创建工作表,创建工作表的方法与创建工作薄的方法几乎一样,同样是通过工厂模式方法获得相应的对象,该方法需要两个参数,一个是工作表的名称,另一个是工作表在工作薄中的位置,参考下面的代码片段: //创建Excel工作表 jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0); "这锅也支好了,材料也准备齐全了,可以开始下锅了!",现在要做的只是实例化API所提供的Excel基本数据类型,并将它们添加到工作表中就可以了,参考下面的代码片段: //1.添加Label对象 jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell"); ws.addCell(labelC); //添加带有字型Formatting的对象 jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, true); jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf); jxl.write.Label labelCF = new jxl.write.Label(1, 0, "This is a Label Cell", wcfF); ws.addCell(labelCF); //添加带有字体颜色Formatting的对象 jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED); jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc); jxl.write.Label labelCFC = new jxl.write.Label(1, 0, "This is a Label Cell", wcfFC); ws.addCell(labelCF); //2.添加Number对象 jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926); ws.addCell(labelN); //添加带有formatting的Number对象 jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##"); jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf); jxl.write.Number labelNF = new jxl.write.Number(1, 1, 3.1415926, wcfN); ws.addCell(labelNF); //3.添加Boolean对象 jxl.write.Boolean labelB = new jxl.write.Boolean(0, 2, false); ws.addCell(labelB); //4.添加DateTime对象 jxl.write.DateTime labelDT = new jxl.write.DateTime(0, 3, new java.util.Date()); ws.addCell(labelDT); //添加带有formatting的DateFormat对象 jxl.write.DateFormat df = new jxl.write.DateFormat("dd MM yyyy hh:mm:ss"); jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df); jxl.write.DateTime labelDTF = new jxl.write.DateTime(1, 3, new java.util.Date(), wcfDF); ws.addCell(labelDTF); 这里有两点大家要引起大家的注意。第一点,在构造单元格时,单元格在工作表中的位置就已经确定了。一旦创建后,单元格的位置是不能够变更的,尽管单元格的内容是可以改变的。第二点,单元格的定位是按照下面这样的规律(column, row),而且下标都是从0开始,例如,A1被存储在(0, 0),B1被存储在(1, 0)。 最后,不要忘记关闭打开的Excel工作薄对象,以释放占用的内存,参见下面的代码片段: //写入Exel工作表 wwb.write(); //关闭Excel工作薄对象 wwb.close(); 这可能与读取Excel文件的操作有少少不同,在关闭Excel对象之前,你必须要先调用write()方法,因为先前的操作都是存储在缓存中的,所以要通过该方法将操作的内容保存在文件中。如果你先关闭了Excel对象,那么只能得到一张空的工作薄了。 拷贝、更新Excel工作薄 接下来简要介绍一下如何更新一个已经存在的工作薄,主要是下面二步操作,第一步是构造只读的Excel工作薄,第二步是利用已经创建的Excel工作薄创建新的可写入的Excel工作薄,参考下面的代码片段:(完整代码见ExcelModifying.java) //创建只读的Excel工作薄的对象 jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourcefile)); //创建可写入的Excel工作薄对象 jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile), rw); //读取第一张工作表 jxl.write.WritableSheet ws = wwb.getSheet(0); //获得第一个单元格对象 jxl.write.WritableCell wc = ws.getWritableCell(0, 0); //判断单元格的类型, 做出相应的转化 if(wc.getType() == CellType.LABEL) { Label l = (Label)wc; l.setString("The value has been modified."); } //写入Excel对象 wwb.write(); //关闭可写入的Excel对象 wwb.close(); //关闭只读的Excel对象 rw.close(); 之所以使用这种方式构建Excel对象,完全是因为效率的原因,因为上面的示例才是API的主要应用。为了提高性能,在读取工作表时,与数据相关的一些输出信息,所有的格式信息,如:字体、颜色等等,是不被处理的,因为我们的目的是获得行数据的值,既使没有了修饰,也不会对行数据的值产生什么影响。唯一的不利之处就是,在内存中会同时保存两个同样的工作表,这样当工作表体积比较大时,会占用相当大的内存,但现在好像内存的大小并不是什么关键因素了。 一旦获得了可写入的工作表对象,我们就可以对单元格对象进行更新的操作了,在这里我们不必调用API提供的add()方法,因为单元格已经于工作表当中,所以我们只需要调用相应的setXXX()方法,就可以完成更新的操作了。 尽单元格原有的格式化修饰是不能去掉的,我们还是可以将新的单元格修饰加上去,以使单元格的内容以不同的形式表现。 新生成的工作表对象是可写入的,我们除了更新原有的单元格外,还可以添加新的单元格到工作表中,这与示例2的操作是完全一样的。 最后,不要忘记调用write()方法,将更新的内容写入到文件中,然后关闭工作薄对象,这里有两个工作薄对象要关闭,一个是只读的,另外一个是可写入的。 小结 本文只是对Java Excel API中常用的方法作了介绍,要想更详尽地了解API,请大家参考API文档,或源代码。Java Excel API是一个开放源码项目,请大家关注它的最新进展,有兴趣的朋友也可以申请加入这个项目,或者是提出宝贵的意见。
2023-05-29 09:50:231

jxl读取excel导入到数据库,报错java.lang.NoClassDefFoundError: jxl/read/biff/BiffException

你的问题解决了吗?我也遇到了一样的问题现在也没办法搞懂
2023-05-29 09:50:382

java jxl设置单元格格式为文本型?怎么设置的。

正解
2023-05-29 09:50:462

jxl怎么导出excel2007

public String exportxm() throws Exception { HttpServletRequest request = ServletActionContext.getRequest(); // String wid=request.getParameter("wid"); String[] headers = { "项目名称", "填报人", "填报时间", "合同额", "预计毛利", "项目计划完成时间", "所属部门"}; String[] columns = { "sernum", "personer.name", "times","xsjobes", "xsb", "plannedate", "subdept.name"}; Map<String, Object> values = new HashMap<String, Object>(); //Page<Worktype> page1 = new Page<Worktype>(40); // 设置默认排序方式 if (!page.isOrderBySetted()) { page.setOrderBy("id"); page.setOrder(Page.DESC); } page.setPageSize(9999); page = manager.searchWork(page, values); String title="项目管理表"; // 生成Excel文件. Workbook wb = new ExcelExport(title, headers,columns, page) .exportExcelWorkbook(); // 输出Excel文件. HttpServletResponse response = Struts2Utils.getResponse(); response.setContentType(ServletUtils.EXCEL_TYPE); ServletUtils.setFileDownloadHeader(response, "项目管理-"+accountManager.getcurrentUser().getName()+".xls"); wb.write(response.getOutputStream()); response.getOutputStream().flush(); return null; } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 /** * 设置让浏览器弹出下载对话框的Header. * * @param fileName 下载后的文件名. */ public static void setFileDownloadHeader(HttpServletResponse response, String fileName) { try { //中文文件名支持 String encodedfileName = new String(fileName.getBytes(), "ISO8859-1"); response.setHeader("Content-Disposition", "attachment; filename="" + encodedfileName + """); } catch (UnsupportedEncodingException e) { } } public static final String EXCEL_TYPE = "application/vnd.ms-excel";、、、、、、、、、、、、、、、/** * 导出到excel * @param title 标题 * @param headers 表格头 * @param result 数据 */ @SuppressWarnings({ "rawtypes", "unchecked" }) public ExcelExport(String title,String[] headers,String[]columns, Page page){ this.title=title; this.headers=headers; this.result=transhashmap(columns, page.getResult()); } /** * 将listObject 转换为List<HashMap<Integer, Object>> * @param columns * @param olist * @return */ private List<HashMap<Integer, Object>> transhashmap(String[] columns,List<Object> olist){ List<HashMap<Integer, Object>> result=Lists.newArrayList(); for(Object o:olist){ HashMap<Integer, Object> ht=this.transhashmap(columns, o); result.add(ht); } return result; } /** * 将object 转换为hashmap * @param columns * @param olist * @return */ private HashMap<Integer, Object> transhashmap(String[] columns,Object o){ int col=0; HashMap<Integer, Object> ht=new HashMap<Integer, Object>(); for(String column:columns){ //根据属性名称直接获取值 Object value=this.invokeGetterMethod(o, column); ht.put(col,value); col=col+1; } return ht; }
2023-05-29 09:51:061

JXL是什么意思

JXL - JXL(Java Excel API)是一个用来动态读写 Excel 文件的开源框架,利用它可以 在任何支持 Java 的操作系统上动态读写 Excel 文件.
2023-05-29 09:51:531

jXl和jXc是什么意思

意思如下:jxc是网络用语,是卷心菜的意思。卷心菜名字叫卷心菜,其实是没心的,一层层剥完什么都不剩,你们同学其实是说你没心眼,是个实诚人,没恶意的。JXL - JXL(Java Excel API)是一个用来动态读写 Excel 文件的开源框架,利用它可以 在任何支持 Java 的操作系统上动态读写 Excel 文件。
2023-05-29 09:52:001

java maven怎么添加jxl?

直接在设置中进行操作,下载安装JDK即可添加。内容拓展:一、如何添加jxl的具体步骤如下1.添加 JAVA HOME确保你已经安装了JDK,并且在windows环境变量中添加一个”JAVA HOME”,并且指定你的JDK文件夹,如果你只想在计算机的本用户下使用该环境变量,而不是让计算机的所有用户都使用此环境变量,建议你将环境变量添加到用户变量中。2下载阿帕奇maven你可以从这里下载maven的压缩包, official website, 例如: apache-maven-2.2.1-bin.zip。3.解压它解压下载的压缩文件夹到指定文件夹,比如“D:maven”,注意这是全部的操作,你不需要在windows上进行安装程序。4.添加 MEAVEN HOME现在,添加”MAVEN HOME”到windows环境变量中,环境变量的配置本质上其实就是告诉操作系统怎样去定位和使用软件的位置及功能调用。
2023-05-29 09:52:071

jxl是什么黄金品牌

JY千足金。JY就是厂家名称,千足金就代表纯度为99.9%。千足金只要含金量不少于千分之999。
2023-05-29 09:52:131

用jxl如何获得 excel 单元格背景颜色

File file = new File(path); FileInputStream in = new FileInputStream(file); wb1 = Workbook.getWorkbook(in); wb1.getSheet(0).getCell(0, 0).getCellFormat().getBackgroundColour();这样得到excel 第一行,第一格的backgroundcolour如果要设置,请参考前面的回答。
2023-05-29 09:52:222

java中导出excel设置单元格的样式为数字格式怎么设置?

PageOffice能解决这个问题,网上搜有很多示例代码的
2023-05-29 09:52:323

jxl怎么导出excel设置顶端对齐verticalalignment

//分页导出Excel ---song public void WriteExecel_Old(ResultSet rs, String filename,String tilte,String[] colunames,String[] columns) { try { int columncount = columns.length; String sfilename ="c:\output.xls"; if (filename!=null) { if (!filename.equals("")) { sfilename = filename; } } WritableWorkbook workbook = Workbook.createWorkbook(new File(sfilename)); WritableSheet sheet = workbook.createSheet(tilte, 0); WritableSheet sheet2 = workbook.createSheet("sheet2", 1); WritableSheet sheet3 = workbook.createSheet("sheet3", 2); WritableSheet sheet4 = workbook.createSheet("sheet4", 3); sheet.mergeCells(0,0,columncount-1,0);//合并单元格 /******************************************/ sheet2.mergeCells(0,0,columncount-1,0);//合并单元格 sheet3.mergeCells(0,0,columncount-1,0);//合并单元格 sheet4.mergeCells(0,0,columncount-1,0);//合并单元格 /******************************************/ WritableFont times16font = new WritableFont(WritableFont.TIMES, 16, WritableFont.BOLD, true); WritableCellFormat times16format = new WritableCellFormat (times16font); times16format.setAlignment(jxl.format.Alignment.CENTRE);// //把水平对齐方式指定为居中 times16format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //把垂直对齐方式指定为居中 //标题头 Label label = new Label(0, 0, tilte,times16format); /******************************************/ Label label2 = new Label(0, 0, tilte,times16format); Label label3 = new Label(0, 0, tilte,times16format); Label label4 = new Label(0, 0, tilte,times16format); /******************************************/ sheet.setRowView(0, 800); sheet.addCell(label); /******************************************/ sheet2.setRowView(0, 800); sheet2.addCell(label2); sheet3.setRowView(0, 800); sheet3.addCell(label3); sheet4.setRowView(0, 800); sheet4.addCell(label4); /******************************************/ int row = 1; WritableCellFormat titielformat = new WritableCellFormat(); titielformat.setBackground(jxl.format.Colour.GREY_25_PERCENT); titielformat.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN); //写表头 for (int i=0;i<columncount;i++) { Label labeltmp = new Label(i,row,colunames[i],titielformat); Label labeltmp2 = new Label(i,row,colunames[i],titielformat); Label labeltmp3 = new Label(i,row,colunames[i],titielformat); Label labeltmp4 = new Label(i,row,colunames[i],titielformat); sheet.addCell(labeltmp); sheet2.addCell(labeltmp2); sheet3.addCell(labeltmp3); sheet4.addCell(labeltmp4); //Number number = new Number(5, 6, 3.1459); //sheet.addCell(number); } row = 2; int myRow1 = 1; int myRow2 = 1; int myRow3 = 1; if (rs!=null) { WritableCellFormat tformat = new WritableCellFormat(); tformat.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN); rs.beforeFirst(); // System.out.println("---------------"); while (rs.next()) { if(row<=60000){ for (int i=0;i<columncount;i++) { Label labeltmp = new Label(i,row,rs.getString(i+1),tformat); sheet.addCell(labeltmp); } } else if(row>60000 && row <=120000) { for (int i=0;i<columncount;i++) { Label labeltmp = new Label(i, myRow1, rs.getString(i+1), tformat); sheet2.addCell(labeltmp); } myRow1++; } else if(row>120000 && row <=180000) { for (int i=0;i<columncount;i++) { Label labeltmp = new Label(i, myRow2, rs.getString(i+1), tformat); sheet3.addCell(labeltmp); } myRow2++; } else { for (int i=0;i<columncount;i++) { Label labeltmp = new Label(i, myRow3, rs.getString(i+1), tformat); sheet4.addCell(labeltmp); } myRow3++; } row = row +1; } } workbook.write(); workbook.close(); } catch (Exception ex) { System.out.println(ex.toString()); } }
2023-05-29 09:52:381

用jxl修改excel文件时,怎么复制插入某行

能否在工作表被保护的状态下插入行或列?怎么设置?
2023-05-29 09:52:472

jxl如何打印EXCEL?

在Excel中,录制打印过程的宏,然后JXL中参照
2023-05-29 09:52:571

jxl生成excel时,如何让单元格,既有数字格式化(如:##,##0.00)也有边框线

POI不懂,但是我知道可以通过宏来实现你所要的显示结果,另外,excel里面格式选择“会计专用”也能达到,不过没边框,我能想到的,就是用VBA或者c#或者其他的编写个小程序。
2023-05-29 09:53:042

电子电工i=Ul/jXl中的j代表什么

这是表示,在交流电路中,电感中的电流i与电感上的电压Ul 和电感的感抗Xl 之间的关系,其中,j是虚数单位,表示电感中的电压超前电流90度。
2023-05-29 09:53:241

怎么样在Java中导入jxl包,

看你使用的是哪个IDE了??
2023-05-29 09:53:322

jxl 可以解析哪些版本excel

2000~2007
2023-05-29 09:53:402

jxl怎么设置excle导出的图片大小

我用的jxl,没有特别设置啊。导出的就是文本格式!贴上部分代码jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf); // 设置CellFormatwcfF.setAlignment(jxl.format.Alignment.CENTRE); // 把水平对齐方式指定为左对齐wcfF.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); // 把垂直对齐方式指定为居中对齐wcfF.setWrap(true); // 自动换行wcfF.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);sheet1.addCell(new jxl.write.Label(0, 3 + i, i + 1 + "", wcfF));
2023-05-29 09:53:461

jxl 总是报这个错误 java.lang.ArrayIndexOutOfBoundsException,代码如下

越了
2023-05-29 09:53:554

jxl 读取excle如何获取总行数

//读取到的sheet Sheet[] sheet = workBook.getSheets(); Sheet s = sheet[0]; //获取该sheet 的有效数据的行数 int totalRows=s.getRows();
2023-05-29 09:54:041

需要用JXL生成固定样式的标题,表头.样式如下,求助

我想你需要的是这个吧:jxl.write.WritableSheet ws = wwb.createSheet("明细", 0); ws.getSettings().setVerticalFreeze(1);//固定表头第一行
2023-05-29 09:54:111

变压器阻抗计算公式有哪些

  变压器在忽略电源阻抗时,低压侧短路时,短路电流=额定电流/阻抗电压%;  额定电流=变压器容量S/根号3的额定电压U;  变压器短路阻抗Z=额定电压U/短路电流Id;  请用上面三个式子,替换法得出变压器阻抗的计算公式,当然,高压侧与低压侧(数值)是不一样的。  变压器阻抗没有具体公式,请使用上述方法推算。电抗(reactance),用X表示,是一种电子电子元件因为容量或感应系数展示的对交流电(交流电)的通道的反抗形式。在一些方面,电抗像DC(直流电)电阻的 AC 类似版本。但是二个现象在重要的方面是不同的,而且他们能独立地改变。电阻和电抗联合形成阻抗,被用二维量复数的形式定义。  当交流电通过一个包含电抗的元件的时候,能量交替地被储存进和释放出一个磁场或一个电场。在一个磁场的情况,电抗是感应的。在一个电场的情况,电抗是电容的。感应的电抗被赋值为正虚数。电容的电抗被赋值为负虚数。如成份中的感应系数增加,它的感应电抗以虚数的形势变得比较大,假定频率被看作常数。  如果频率在感应系数为给定值的时候增加,感应电抗虚数项增加。如果 L 是享利(H)表示的感应系数,而且 f 是赫(赫兹)表示的频率,然后感应电抗 +jXL ,以虚数欧姆的形式,被给出为:+jXL=+j(6.2832 fL)  其中 6.2832 大约相等于2 pi 一个表现完整的 AC 周期的弧度数字的常数,而 j 表现单位虚数(-1的正平方根)。公式在微享利(?H) 的感应系数和兆赫兹(MHz)的频率时也成立。  作为一个感应电抗的真实例子, 考虑一个感应系数是 10.000 ?H 的卷,频率是2.0000兆赫兹。使用上述的公式,+jXL 被发现是+j125.66 欧姆。如果频率被乘以两倍到 4.000兆赫兹,然后 +jXL 乘以两倍,到 +j251.33 欧姆。 如果频率被二等分到 1.000兆赫兹,然后+jXL 被减去一半,为 +j62.832 欧姆。如元件的电容增加,它的电容电抗变得比较小负数(接近零),以虚数项的形式,假定频率被看作常数。如果电容给定时频率增加,电容电抗变为更小的负数(更接近零),以虚数项的形式。如果 C 是单位为法拉第(F)的电容,而且 f 是单位为赫兹的频率, 然后电容电抗 -jXC ,以虚数欧姆的形式,被给出为:-jXC=-j(6.2832 fC)-1  这一个公式在电容单位为微法拉(?F)而且频率单位为兆赫兹(MHz)时也成立。  作为一个电容电抗真实的例子,考虑电容为 0.0010000?F的电容器, 频率为2.0000兆赫兹。使用上述的公式,-jXC 被发现是 -j79.577 欧姆。 如果频率被乘以两倍到 4.0000兆赫兹,然后 -jXC 被剪去一半,为 - j39.789 的欧姆。 如果频率被减去一半成1.0000兆赫兹,然后 -jXC 被翻倍,为-j159.15 欧姆。
2023-05-29 09:54:191

怎么才能把数据库字段值动态填充到Excel单元格?

去网上找一个什么包(具体是什么,不太记得了),然后在JSP页面引入那个包,在JSP页面上直接用<table>标签,你的<table>里面的数据是什么,那么,就会按你<table>的样子,自动填充到Excel单元格了.
2023-05-29 09:54:283

塞纳河jxl是什么意思

塞纳河是流经法国北部的一条大河,全长776.6公里,包括支流在内的流域总面积为78,700平方公里;它是欧洲有历史意义的大河之一,其排水网络的运输量占法国内河航运量的大部分。自中世纪初期以来,巴黎就是在该河一些主要渡口上建立起来的,河流与城市的相互依存关系是紧密而不可分离的。塞纳河发源于勃艮第科多尔大区朗格勒高原,塔塞洛山的海拔471米处,全长776公里;当流经沙蒂永那边多孔石灰岩村时,仍是一条小溪。它从勃艮地流向西北、进入特鲁瓦上方的香槟;它在香槟干燥的白垩高原时是两岸坚固的濠沟。流到罗米伊附近与奥布河会合,朝西流向蒙特罗附近时河谷变宽,在此它从左岸接纳约纳河。又折向西北,当其筑成濠沟似的河谷跨越法兰西岛奔向巴黎时,通过默伦和科尔贝。当其进入巴黎时,在右岸与其大的支流马恩河汇合;在蜿蜒流经大都会后又在右岸接纳瓦兹河。在通过巴黎时,塞纳河已经过修整,两岸码头之间的河道已经变窄。它沿着大盘曲的河道流去,在芒特拉若利下方穿过诺曼底奔向位于英吉利海峡的河口湾。它宽阔的河口湾迅速张开,通过唐卡维尔,延伸26公里,抵达勒哈佛尔。它常有涌潮现象。 从发源地到巴黎,塞纳河流经一连串逐个年轻的沉积岩的,填实构造盆地的同心地带,地带的中心就是紧紧环绕巴黎周围的石灰岩台地。这一盆地的岩石都以巴黎为中心略呈倾斜,并具有一系列表面向外而间隔有较窄的黏土溪谷的石灰岩(包括白垩)马头丘。这些马头丘被塞纳河及其支流冲破,已造成一些明显的缺口。在巴黎以下,塞纳河下游的河道,按照影响盆地北部的结构性虚弱线的走向,大致沿西北方向入海。英吉利海峡在盆地的北面,打破了它的对称,打破了同心地带的完整性。塞纳河是仍在白垩地带入海的。塞纳河盆地的地势没有惊人的起伏不平,从其源头出发48公里已下降244米,而巴黎距河口365公里,却仅高出海平面24米。因此,塞纳河流势平缓,显然适航,又因其水情一般有规律性而更加适航。流经的巴黎盆地是法国最富饶的农业地区。塞纳河从盆地东南流向西北,到盆地中部平坦地区,流速减缓,形成曲河,穿过巴黎市中心。巴黎就是在塞纳河城岛及其两岸逐步发展起来的。巴黎市沿塞纳河十多公里都是石砌码头和宽阔的堤岸,有30多座精美的桥梁横跨河上,高楼大厦排列于两岸,倒影入水,景色十分美丽壮观。
2023-05-29 09:54:351

java jxl 大量数据写入excel,比如上千万条

jvm才是关键,建议分割。
2023-05-29 09:55:004

jxl生成下拉列表,生成的Excel文件左上角有个空的下拉框问题

看代码没毛病,需要运行起来才知道
2023-05-29 09:55:091

java用jxl导出数据超过3000就报错。。

本人前阵子就是在解决这个问题,应该是jxl包的问题,我的解决方法是新写了一个方法,新方法不用jxl而用poi,可以一次导出3W以上的数据不出错,如果原来的方法不想去掉的话,本人是在写excel的时候先做记录条数判断,如果较大(>2000)则调用新类的新方法,基本问题已经解决,可供参考,要关键代码的话也可以提供。
2023-05-29 09:55:181

java jxl设置单元格格式为文本型

Label labelA= new Label(0, 0, "This is a Label cell"); 参数表示的意思是(列,行,文本串)ws.addCell(labelA);ws的意思是工作表 这是写操作,如果单元格内有内容其实也是覆盖
2023-05-29 09:55:251

java jxl读取EXCEL里日期格式该如何写入数据库里

jxl在解析excel的时候会默认当前输入的时间为格林威治时间。。但是通过dateCell.getDate();又会默认为当前时区时间 所以会多出个8个小时。。。。如果要得到正确时间 只有将dateCell.getDate();的时间转化成格林威治的时间值。。。才会得到正确结果
2023-05-29 09:55:371

java jxl 导出xlsx格式的excel 以前一直用的jxl,改成poi太麻烦,工作量太大。不要告诉我改成poi

http://blog.csdn.net/cq546389274/article/details/46409559
2023-05-29 09:55:502

jxl 如何设置自动筛选?谢谢!

在菜单栏>数据>筛选>自动筛选就可以了.
2023-05-29 09:55:571

jxl 插入并设置图片属性

im.setImageAnchor(im.NO_MOVE_OR_SIZE_WITH_CELLS);就行了..im.MOVE_AND_SIZE_WITH_CELLS;im.MOVE_WITH_CELLS;im.NO_MOVE_OR_SIZE_WITH_CELLS;分别对应那三个选项。
2023-05-29 09:56:072

用jxl对excel进行操作的时候,能不能按某一行来进行排序

jxl是什么?
2023-05-29 10:01:022

韩国童装JS JM JL JXL是什么码

JM是青少年中码,JL是青少年大码,JO是青少年加大码。还有JSS、JS、JM、JL、JO。这些都是日本码。日本XO尺码是XL码。日本尺码M等于S码,尺码O等于L码;而尺码XO等于XL码。
2023-05-29 10:01:101

jxl把list数组写如excel列

你看看jxl包的说明
2023-05-29 10:01:183

jxl.jar 支持什么格式,支不支持Excel2007 的.xlsx格式

看SF上,JXL 更新好慢,还是改用 POI 吧
2023-05-29 10:01:343

jxl.jar包中读取合并的单元格的方法是什么呢?

合并单元格 WritableSheet.mergeCells(int m,int n,int p,int q); 作用是从(m,n)到(p,q)的单元格全部合并,比如: WritableSheet sheet=book.createSheet(“第一页”,0); //合并第一列第一行到第六列第一行的所有单元格 sheet.mergeCells(0,0,5,0); 合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。
2023-05-29 10:01:412

戒指上面刻着G750 JXL,和D0 057ct,其中的JXL是什么意思。

一般情况,JXL会是加工师傅的姓名缩写CASA的确没有听说过,不过更可以推断“JXL”是工匠的名字。信息仅供参考。
2023-05-29 10:01:532

求助啊 在ssh下用jxl导出Excel 想了好久

实现方法: 1、打开ssh编辑器 2、输入以下代码: <input class="see" type="button" value="导出Excel" onclick="exportxls()"/> function exportxls() { window.location = "goodsReport_exportxls.action"; } struts.xml中的配置 <constant name="struts.multipart.parser" value="jakarta" /> <result name="exportxls" type="stream"> <param name="contentType">application/vnd.ms-excel</param> <param name="contentDisposition">attachment;filename="${fileName}"</param> <param name="inputName">inputStream</param> </result> action的代码 public String exportxls() { try { Workbook workbook = new HSSFWorkbook(); Font font = workbook.createFont(); font.setFontHeightInPoints((short) 12); font.setBoldweight(Font.BOLDWEIGHT_BOLD); CellStyle style = workbook.createCellStyle(); style.setAlignment(CellStyle.VERTICAL_CENTER); style.setAlignment(CellStyle.ALIGN_CENTER); style.setFont(font); 3、保存退出
2023-05-29 10:02:111

jxl导出excel时报错,求高手支招,在线等

毫无疑问 毫无意义 毫无疑义 毫无保留 毫无顾忌
2023-05-29 10:02:202

JXL插入图片问题?如何解决插入JPG或JPG转化成PNG呢

ImageIO.write();这个类的方法 用byteArrayOutPutStream 这个类 转换的时候使用因为不用创建File 还得删除 这个临时的文件,jxl加入图片时候可以使用byte[],正好byteArrayOutPutStream的toArrays就可以转换了
2023-05-29 10:02:271

java 在Jframe里用jxl怎么把数据追加进excel里,不要覆盖原有数据

blic static void main(String[] args) throws BiffException,IOException,WriteException { try { InputStream is = new FileInputStream("F:/EXCEL/ZY_T_D_DRIVERINCOME.xls"); jxl.Workbook rwb = Workbook.getWorkbook(is); System.out.println(rwb); Sheet[] rsArray = rwb.getSheets(); Sheet rs = rsArray[0]; Cell c; for(int i=0;i<rs.getRows();i++){ for(int j=0;j<rs.getColumns();j++){ c=rs.getCell(j,i); String strc = c.getContents(); System.out.print(strc); rwb.close(); } } } catch (Exception e) { e.printStackTrace(); } }将取到的数据可以先组装成List类型数据,然后再写,或者直接写入数据库,数据库应该有对应的字段
2023-05-29 10:02:341

jxl读取excel时报空指针异常

产生异常也是可能的,如果你把cell的异常情况提前处理就可以避免了。试试:if (cell != null) { switch (cell.getCellType()) {}}
2023-05-29 10:02:411

java的jxl中workbook.getworkbook(File)的File是要读取的excel文件的路径么

获取文件
2023-05-29 10:02:515