
正文
java代码生成e Java代码生成二维码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何用java代码将数据库中的数据生成excel表
java 读excel 还是比较方便简单的,原理就是,先用java 读取excel,然后,一行行的写入数据库,字段的话,你自己程序里面写就行了,给你个例子:
从Excel读取数据,生成新的Excel,以及修改Excel
package common.util;
import jxl.*;
import jxl.format.UnderlineStyle;
import jxl.write.*;
import jxl.write.Number;
import jxl.write.Boolean;
import java.io.*;
/**
* Created by IntelliJ IDEA.
* User: xl
* Date: 2005-7-17
* Time: 9:33:22
* To change this template use File | Settings | File Templates.
*/
public class ExcelHandle
{
public ExcelHandle()
{
}
/**
* 读取Excel
*
* @param filePath
*/
public static void readExcel(String filePath)
{
try
{
InputStream is = new FileInputStream(filePath);
Workbook rwb = Workbook.getWorkbook(is);
//Sheet st = rwb.getSheet("0")这里有两种方法获取sheet表,1为名字,而为下标,从0开始
Sheet st = rwb.getSheet("original");
Cell c00 = st.getCell(0,0);
//通用的获取cell值的方式,返回字符串
String strc00 = c00.getContents();
//获得cell具体类型值的方式
if(c00.getType() == CellType.LABEL)
{
LabelCell labelc00 = (LabelCell)c00;
strc00 = labelc00.getString();
}
//输出
System.out.println(strc00);
//关闭
rwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
* 输出Excel
*
* @param os
*/
public static void writeExcel(OutputStream os)
{
try
{
/**
* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,
* 因为类WritableWorkbook的构造函数为protected类型
* method(1)直接从目标文件中读取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));
* method(2)如下实例所示 将WritableWorkbook直接写入到输出流
*/
WritableWorkbook wwb = Workbook.createWorkbook(os);
//创建Excel工作表 指定名称和位置
WritableSheet ws = wwb.createSheet("Test Sheet 1",0);
//**************往工作表中添加数据*****************
//1.添加Label对象
Label label = new Label(0,0,"this is a label test");
ws.addCell(label);
//添加带有字型Formatting对象
WritableFont wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);
WritableCellFormat wcf = new WritableCellFormat(wf);
Label labelcf = new Label(1,0,"this is a label test",wcf);
ws.addCell(labelcf);
//添加带有字体颜色的Formatting对象
WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,
UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
Label labelCF = new Label(1,0,"This is a Label Cell",wcfFC);
ws.addCell(labelCF);
//2.添加Number对象
Number labelN = new Number(0,1,3.1415926);
ws.addCell(labelN);
//添加带有formatting的Number对象
NumberFormat nf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(nf);
Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
ws.addCell(labelNF);
//3.添加Boolean对象
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对象
DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
WritableCellFormat wcfDF = new WritableCellFormat(df);
DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
ws.addCell(labelDTF);
//添加图片对象,jxl只支持png格式图片
File image = new File("f:\\2.png");
WritableImage wimage = new WritableImage(0,1,2,2,image);
ws.addImage(wimage);
//写入工作表
wwb.write();
wwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
* 拷贝后,进行修改,其中file1为被copy对象,file2为修改后创建的对象
* 尽单元格原有的格式化修饰是不能去掉的,我们还是可以将新的单元格修饰加上去,
* 以使单元格的内容以不同的形式表现
* @param file1
* @param file2
*/
public static void modifyExcel(File file1,File file2)
{
try
{
Workbook rwb = Workbook.getWorkbook(file1);
WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);//copy
WritableSheet ws = wwb.getSheet(0);
WritableCell wc = ws.getWritableCell(0,0);
//判断单元格的类型,做出相应的转换
if(wc.getType == CellType.LABEL)
{
Label label = (Label)wc;
label.setString("The value has been modified");
}
wwb.write();
wwb.close();
rwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
//测试
public static void main(String[] args)
{
try
{
//读Excel
ExcelHandle.readExcel("f:/testRead.xls");
//输出Excel
File fileWrite = new File("f:/testWrite.xls");
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
ExcelHandle.writeExcel(os);
//修改Excel
ExcelHandle.modifyExcel(new file(""),new File(""));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
2.在jsp中做相关测试,创建一个writeExcel.jsp
%
response.reset();//清除Buffer
response.setContentType("application/vnd.ms-excel");
File fileWrite = new File("f:/testWrite.xls");
fileWrite.createNewFile();
new FileOutputStream(fileWrite);
ExcelHandle.writeExcel(new FileOutputStream(fileWrite));
%
在IE中浏览writeExcel.jsp就可以动态生成Excel文档了,其中response.setContentType("application/vnd.ms- excel");语句必须要,才能确保不乱码,在jsp中输入%@page contentType="application/vnd.ms- excel;charset=GBK"%不行。
相关问答
Q1: 如何在Eclipse中将java代码生成为.exe的可执行文件。
在eclipse中恐怕不行吧,首先要将你的class文件打包成一个jar包,然后用打包工具打包成exe文件,我给你提供一个软件,你可以去下载下来试试
Jar2Exe 是一款将 jar 文件转换成 exe 可执行文件的工具软件。本软件的工作原理是使用 JNI 接口启动 java 虚拟机,并在此基础上提供其他高级的功能。
主要功能:
可生成 "控制台","图形界面","Windows 服务" 三种类型的 exe 可执行文件。
生成的 exe 文件可以添加程序图标和版本信息。
生成的 exe 文件能对 java 程序进行加密保护,运行时不会产生临时文件。
生成的 exe 文件提供系统任务栏图标功能。
生成的 exe 文件提供记录系统日志功能。
生成的 Windows 服务自带安装/卸载服务功能,支持服务暂停/继续
Q2: 在java中如何输入e^x(x为变量)还有如何输入e(e为自然对数的底数)?
1. java中的a^b a的b次方, 可以使用Math.pow(a,b) 实现'
2. java中的常数e, 也可以通过Math.E 获得
3. 完整代码参考
public class TestMath {
public static void main(String[] args) {
int x = 5; //次方数
double e = Math.E;//自然常数e的近似值
double d = Math.pow(e, x);//e^x
System.out.println("e^"+x+"="+d);//输出结果
}
}
4.拓展延伸. 通过上面的例子可以看到Math类的用途比较广泛.需要系统的学习
java.lang.Math 类包含用于执行基本数学运算的方法java代码生成e,如初等指数、对数、平方根和三角函数。
Math的字段
Math.E: 比任何其他值都更接近 e(即自然对数的底数)的 double 值。
Math.PI: 比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
Math的常用方法
abs(double d) 求绝对值
sina(double a) 返回角的三角正弦。(还有一系列的三角函数计算)
sqrt(double d) 返回正确舍入的 double 值的正平方根。
ceil(double a) 返回最小的(最接近负无穷大)double 值java代码生成e,该值大于等于参数,并等于某个整数。
floor(double a)返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
log(double a) 返回 double 值的自然对数(底数是 e)。
关于java代码生成e和Java代码生成二维码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







