使用java创建excel工作表时遇到的问题

使用java创建excel工作表时遇到的问题,java,excel,apache-poi,Java,Excel,Apache Poi,我正在尝试打开一个现有的excel文档,并尝试创建一个工作表并将数据插入单元格。当我在eclipse中编译代码时,我没有收到任何错误,但当我运行代码时,它不会影响excel文档 这是我的密码 import java.io.*; import java.io.FileInputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFCell; import

我正在尝试打开一个现有的excel文档,并尝试创建一个工作表并将数据插入单元格。当我在eclipse中编译代码时,我没有收到任何错误,但当我运行代码时,它不会影响excel文档

这是我的密码

import java.io.*;
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.usermodel.*;
import java.io.File;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JFrame;
import javax.swing.JButton;
public class test{
 test()
{
    JFrame f = new JFrame("Pay Slip Generator");
    f.setVisible(true);
    f.setSize(500, 300);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setLayout( new FlowLayout() );
    JButton choose_file = new JButton("choose file");
    f.add(choose_file);
    choose_file.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ae){
             JFileChooser fileopen = new JFileChooser();
                FileFilter filter = new FileNameExtensionFilter("c files", "c");
                fileopen.addChoosableFileFilter(filter);
                int ret = fileopen.showDialog(null, "Open file");
                if (ret == JFileChooser.APPROVE_OPTION) {
                  File file = fileopen.getSelectedFile();
                  String path = file.getAbsolutePath();
                  System.out.println(path);
                  try
                  {
                  FileInputStream fis = new FileInputStream(path);
                  HSSFWorkbook wb = new HSSFWorkbook(fis);
                  int no_sheets = wb.getNumberOfSheets();
                  System.out.println(no_sheets);
                  HSSFSheet sheet = wb.createSheet("test");
                  HSSFRow row = sheet.createRow(10);
                  HSSFCell cell = row.createCell(10);
                  cell.setCellValue("Hello");
                  fis.close();

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

    }
public static void main(String args[])throws IOException
{
    new test();

}

期待回复,提前感谢。

这不会影响,因为您没有将数据写回Excel。 在以下行之后插入:
cell.setCellValue(“Hello”)


确保在执行代码时excel文件未打开。

这解决了我的问题,实际上我忘记编写文件输出流,开始担心结果。非常感谢@mk08
FileOutputStream out = new FileOutputStream(new File(path));
    wb.write(out);
    wb.close();
   out.close();