
主要是用sheet.shiftRows()方法,可以直接看代码。
/*** Excel插入一行示例
* Created on 2017/2/8.
*/
public class ExcelDAO {
public void insertRow(String fileName) throws IOException, InvalidFormatException {
File file = new File(fileName)
Workbook workbook = new XSSFWorkbook(new FileInputStream(file))
Sheet sheet = workbook.getSheetAt(0)
sheet.shiftRows(10, sheet.getLastRowNum(), 1) //10-最后一行,向下移动一行
Row newRow = sheet.createRow(10)
Cell newCell = newRow.createCell(0)
newCell.setCellValue("新插入的内容")
workbook.write(new FileOutputStream(fileName))
workbook.close()
}
public static void main(String[] args) throws IOException, InvalidFormatException {
String fileName = "E:\\test.xlsx"
ExcelDAO excelDAO = new ExcelDAO()
excelDAO.insertRow(fileName)
}
}
这是Excel前后对比的截图。
可能是你在表格的最大行或最大列处无意中添加了什么对象,如图片、文本框之类的。解决方法是:按住Ctrl键不放,再敲“→”或“↓”键,到表格的最大列或最大行,找到那个对象,把它去掉,或是把它移到需要的地方去。 另外,在定义格式、标记颜色、画表格、合并单元格、插入背景也会出现上述问题。在制作表格时,用多少处理多少,不要直接选择行号或列号,更不要全选。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)
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)