当前位置: 首页 > 知识库问答 >
问题:

jtable->excel->jtable-带有扩展名的问题

司寇灵均
2023-03-14

我有个小问题。我做了一个生成jtable的程序,比你可以用一些值填充这个表,比把整个表保存到Excel。

在乞讨开始时,我定义了file:

  for (int i = 0; i < model.getColumnCount(); i++) {
      out.write(table.getColumnModel().getColumn(i).getHeaderValue() + \t");
  }
  out.write("\n");
  for (int i = 0; i < model.getRowCount(); i++) {
      for (int j = 0; j < model.getColumnCount(); j++) {
          if (model.getValueAt(i, j) != null) {
              out.write(model.getValueAt(i, j).toString() + "\t");
          } else if (model.getValueAt(i, j) == null) {
              out.write("\t");
          }
         }
      out.write("\n");
  }out.close();

当我打开这个文件时,我得到消息,文件的格式与其扩展名(.xls)不同。所以我点击“另存为”,建议的扩展名是。txt。我将文件保存为。xls(似乎与java程序保存的文件相同),并且我可以将JTable从excel导入java程序,而不会出现任何错误。谁能建议如何保存正确扩展名的文件?

共有1个答案

东郭赞
2023-03-14

在参数路径中,传递生成的文件的路径,并在参数名称处传递所需的文件名称。如果您感兴趣,可以更改方法签名以动态接收扩展文件。只需替换参数的“.xls”即可。

private void download(HttpServletRequest request, HttpServletResponse response, String path,
        String name) throws IOException
{
    OutputStream out = null;
    try
    {
        out = response.getOutputStream();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    File arquivo = new File(path);
    String sContentType = null;
    sContentType = "application/pdf";
    response.setContentType(sContentType);
    response.addHeader("content-disposition", "attachment; filename=" + name + ".xls");
    InputStream in = null;
    in = new BufferedInputStream(new FileInputStream(arquivo));
    if (in != null)
    {
        response.setContentLength((int) in.available());
        int l;
        byte b[] = new byte[4096];
        while ((l = in.read(b, 0, b.length)) != -1)
        {
            out.write(b, 0, l);
        }
        out.flush();
        in.close();
    }
    out.close();

}
 类似资料:
  • 我试图在JTable的某个列中放置一个JComboBox。我有这个代码,它正在工作: 我的问题是,在选中该列中的一个单元格之前,它不会显示为JComboBox。加载JFrame时,整个表看起来都一样,好像所有单元格中只有文本。单击时,它会显示组合框的箭头和选项,但再次取消选择时,它看起来像一个常规单元格。 有办法绕过它吗?

  • 经过一番研究,我找到了一个方法(如果我理解正确的话,那是一个冗长而乏味的方法)在我的JTable中实现公式。 下面是该表的样子(正如您可能知道的那样,它是用netbeans编辑的,不要介意大量的空部分,我们稍后将讨论它) 以下是问题: a)是否可以制作一个类似excel的公式来添加单元格?(类似于添加单元格C2:C6,因为我确实在excel文件中导出了该表,我想如果有类似的方法也是可能的。) 2a

  • 我希望我的解释足够好,有人能帮助我:-) 编辑:随着camickr的改进而更新,垂直尺寸问题得到解决。

  • jTable 是一个 jQuery 插件用来创建基于 Ajax 的 CRUD 表格,无需进行 HTML 和 JavaScript 编码。 主要特性包括: Automatically creates HTML table and loads records from server using AJAX. Creates 'create new record' jQueryUI dialog form

  • 我创建了一个注册表单,从用户那里收集数据,并将其显示到一个Jtable,然后我想允许用户按一个按钮将Jtable内容导出到excel表单。在显示表中,它可以显示所有的用户输入,但是当我导出到excel时,它只显示columnNames和第一行数据,所以我想知道我是不是做错了?

  • 问题内容: 有什么方法可以在必要时启用水平滚动条吗? 情况是这样的:我有一个单元格,其中存储了很长的数据。因此,我需要水平滚动条。 有人对此有想法吗? 问题答案: 首先,在里面添加a 并为滚动条的存在设置策略: 然后,通过设置模式,指示JTable不能自动调整列的大小: