java 写excel 文件的问题,写完后 就把原来的内容清除了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 写excel 文件的问题,写完后 就把原来的内容清除了相关的知识,希望对你有一定的参考价值。

比如我原来(0,0)的位置是 “大家好”,现在用JAVA的这个类写入(1,1)的内容是“哈哈”,再打开表格时,只剩下“哈哈”,“大家好“没有了,源代码如下
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class excelRW


public static void main(String args[])


new excelRW().writeXls("D:/1.xls",1,1);
new excelRW().readXls("D:/1.xls",1,1);


//实现对特定单元格的读取
public void readXls(String filepath,int rowNum,int cellNum)

try
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filepath));
HSSFSheet sheet = workbook.getSheet("Sheet1");
HSSFRow row = sheet.getRow(rowNum);
HSSFCell cell = row.getCell(cellNum);
System.out.println("第 "+(rowNum+1)+"行" +" ,第 "+(cellNum+1)+"列的内容是 :" +cell.getStringCellValue());


catch(Exception e)

System.out.println("已运行 " + e );


//实现对特定单元格的输入
public void writeXls(String filepath,int rowNum,int cellNum)

try
OutputStream os=new FileOutputStream(filepath);
HSSFWorkbook workbook = new HSSFWorkbook();

HSSFSheet sheet = workbook.createSheet("Sheet1");
HSSFRow row = sheet.createRow(rowNum);
HSSFCell cell = row.createCell(cellNum);
//System.out.println("第 "+(rowNum+1)+"行" +" ,第 "+(cellNum+1)+"列的内容是 :" +cell.getStringCellValue());
cell.setCellValue(new HSSFRichTextString("很高兴!"));
workbook.write(os);
os.close();

catch(Exception e)

System.out.println("已运行 " + e );


你现在的写法是先创建一个新文件叫“D:/1.xls”,如果此文件存在的话,就会覆盖
你得先把原来的文件读进来,然后再写出去追问

具体该怎么实现阿,,

追答

先用 HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filepath));
把已存在内容的 excel读进来,
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filepath));
\\处理。。。。。
\\处理后再写出去
OutputStream os=new FileOutputStream(filepath);
workbook.write(os);

参考技术A 这个貌似是把原来的文件覆盖掉了吧...所以内容会变了

写完后编辑时如何堆叠同一个组件

【中文标题】写完后编辑时如何堆叠同一个组件【英文标题】:How to stack the same component when editing after writing 【发布时间】:2021-12-11 09:50:42 【问题描述】:
<Stack.Screen name="Complain" component=Complain />
<Stack.Screen name="ComplainList" component=ComplainList />
<Stack.Screen name="ComplainUpdate" component=Complain />

如何堆叠?投诉 === 投诉更新

<Stack.Screen name="Complain" component=Complain />
<Stack.Screen name="ComplainList" component=ComplainList />
<Stack.Screen name="ComplainUpdate" component=ComplainUpdate />

我复制了相同的组件并将它们堆叠起来,但这似乎不是一个好主意。有什么好办法吗?

【问题讨论】:

你能详细说明你所说的堆叠是什么意思吗? 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:
<Stack.Screen name="Complain" component=Complain />
<Stack.Screen name="ComplainList" component=ComplainList />
<Stack.Screen name="ComplainUpdate" component=ComplainUpdate />
<Stack.Screen name="ComplainAdd" component=ComplainAdd />

只是..复制和粘贴..对不起

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于java 写excel 文件的问题,写完后 就把原来的内容清除了的主要内容,如果未能解决你的问题,请参考以下文章

Matlab的function写完后,最后加不加end

在访问 vba 的 excel 文件中未启用显示警报

win7系统怎么用记事本写java程序

python读写Excel方法(xlwt)

VS2022如何设置代码智能提示,写完一行,能猜到下行然后提示出来,一个Tab就把提示的这行代写全?

POI导出Excel