问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 如何操作excel 插入一列

发布网友 发布时间:2022-04-23 23:14

我来回答

4个回答

热心网友 时间:2023-08-05 12:15

1.创建文件。

拟生成一个名为“测试数据.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文件。

2.读取文件
以刚才创建的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

3.修改文件
利用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);
}
}
}

热心网友 时间:2023-08-05 12:15

额,java自带包是没有支持对office相关数据的操作的。
想得到你要的效果。简简单单的百度知道上是说不清楚的。你去看这个POI,顺便下载官方的jar包,然后在你的工程里添加进去,就可以调用其中的类来操作excel了。不过一般都设计到IO流的应用。如果这方面你不懂。建议先把基础看看。
这是网址: http://poi.apache.org/
另外附一个我自己用poi写的简单的创建一个excel文件的程序。具体的可以看官网哈。如果不懂,可以百度搜poi的中文文档

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFShape;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class MyExcel2 {

HSSFWorkbook workbook;
POIFSFileSystem pfs;
HSSFCellStyle style;
HSSFShape shape;

public MyExcel2(){

pfs = new POIFSFileSystem();

try {
pfs.createDirectory("d:/pfs");
workbook = new HSSFWorkbook();
style = workbook.getCellStyleAt((short) 0);
style.setBottomBorderColor(HSSFFont.COLOR_RED);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setFillBackgroundColor(HSSFFont.COLOR_RED);

HSSFSheet sheet = workbook.createSheet("aa");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellStyle(style);
cell.setCellValue("agc");

FileOutputStream fos = new FileOutputStream("d:/test.xls");

fos.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}追问现在正在用的就是HSSF,想实现插入一列或多列的功能,发现好像不支持,我只想知道怎样能实现这个功能

追答首先你要了解excel文件的构成,这里给你一个大概的轮廓:
HSSFWorkbook excell的文档对象

HSSFSheet excell的表单

HSSFRow excell的行

HSSFCell excell的格子单元

HSSFFont excell字体
另外在给你一个在工程中常用打表的实例,有注释,你还不懂的话,建议从基础看起,写程序,没有一步登天的事情。也别想着别人能指点一下,你就全部都会了

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

import java.io.FileOutputStream;

import java.io.IOException;

public class CreateCells

{

public static void main(String[] args)

throws IOException

{

HSSFWorkbook wb = new HSSFWorkbook();//建立新HSSFWorkbook对象

HSSFSheet sheet = wb.createSheet("new sheet");//建立新的sheet对象

// Create a row and put some cells in it. Rows are 0 based.

HSSFRow row = sheet.createRow((short)0);//建立新行

// Create a cell and put a value in it.

HSSFCell cell = row.createCell((short)0);//建立新cell

cell.setCellValue(1);//设置cell的整数类型的值

// Or do it on one line.

row.createCell((short)1).setCellValue(1.2);//设置cell浮点类型的值

row.createCell((short)2).setCellValue("test");//设置cell字符类型的值

row.createCell((short)3).setCellValue(true);//设置cell布尔类型的值

HSSFCellStyle cellStyle = wb.createCellStyle();//建立新的cell样式

cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));//设置cell样式为定制的日期格式

HSSFCell dCell =row.createCell((short)4);

dCell.setCellValue(new Date());//设置cell为日期类型的值

dCell.setCellStyle(cellStyle); //设置该cell日期的显示格式

HSSFCell csCell =row.createCell((short)5);

csCell.setEncoding(HSSFCell.ENCODING_UTF_16);//设置cell编码解决中文高位字节截断

csCell.setCellValue("中文测试_Chinese Words Test");//设置中西文结合字符串

row.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_ERROR);//建立错误cell

// Write the output to a file

FileOutputStream fileOut = new FileOutputStream("workbook.xls");

wb.write(fileOut);

fileOut.close();

}

}

热心网友 时间:2023-08-05 12:15

没有找到直接插入列的方法,
有个不太好的折中办法,
就是将你指定列的内容向后复制。

再帮你找找吧。

热心网友 时间:2023-08-05 12:16

用excel的Java包
好像有个jexcel追问能具体点么?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小弟刚升到80级是法师 应该怎么弄装备啊 从哪里开始弄起 还有就是网上... 门上指纹锁要多少钱 手机百度如何搜索图片来源? 如何找出图片出处 win7电脑横屏如何处理笔记本电脑桌面变成横向了怎么办 win7电脑桌面反了怎么办电脑屏幕倒过来了怎么办 win7电脑变成竖屏快捷键我电脑变成竖屏了怎么调回来 win7系统电脑怎么横屏w7系统屏幕怎么横过来 win7系统更改电脑屏幕方向电脑屏幕旋转了怎么调整过来 调成竖屏模式电脑win7我电脑变成竖屏了怎么调回来 java和excel java 如何写excel 浅谈JAVA读写Excel的几种途径 如何使用java从excel表提取内容 java怎么获取excel中的数据 Java对Excel解析(求助) 如何用java把数据写入到excel java如何读取整个excel文件的内容? 用JAVA如何取得EXCEL 中指定的几行的数据? 1996年成立保险公司 中国最先成立的保险公司 中国人寿保险股份有限公司成立于哪年哪月哪日? 无油烟不粘锅哪一个牌子比较好?拜托各位大神 中国保险公司的发展史是怎样的? 请问下中国人民保险什么时间成立的?排第几名 无油烟炒锅选什么牌子的好呢? 哪种不粘锅更安全,有哪一些购买标准呢? 苏泊尔无油烟炒锅哪款好用及清洗方法(火红点无油烟炒锅) 谁能推荐一款真正无油烟不沾的炒锅 无油烟的不沾锅,买哪种好呢? java能做出excel表格吗 如何将java数据转换成Excel表格 java如何生成excel,具体的 请问怎么知道自己手机的屏幕有多大?我的是vivo的! 手机屏幕1600*720是多少寸? 如何知道自己的手机的屏幕是多大?我的手机是HUAYU F068 6.7英寸的手机屏幕? 苹果怎样登录iCloud,为什么我会这样? iPhone怎么使用iCloud?(已登陆苹果账号) 苹果手机上的icloud怎么用? 学信网申请学籍在线验证报告还要支付2元钱?简介上说得输入在线验证码可以免费验证报告为何还要收费?哪 发送的手机验证码,说是免费网络发送的,怎么回事 新氧上发布的案例都是真实的吗? 新氧上的皮肤测试靠谱吗? 闭口粉刺要怎么祛除? 请问怎么删除支付宝里面显示首绑送红包的银行卡? 我看新氧上有好多真实案例,我要是在上面做了项目,可以分享自己的经历吗? 新氧就使用明星照片引起的网络侵权向当事人道歉,可为何网友却不买账? 为什么新氧app里面的项目都比自己去做便宜啊? 新氧棉和纯棉的区别