导出为 CSV 文件并在浏览器中打开

2024-01-04

我遇到了一个问题,我需要将数据导出到 .csv 文件,但不将文件存储在文件系统中 - 相反,我只需要在浏览器中打开文件。

我编写了以下代码将数据写入 .csv 文件:

FileWriter myWriter = new FileWriter("output.csv");
myWriter.append(EmployeeCode);
myWriter.append(',');
myWriter.append(Band);
myWriter.append('\n');
response.setHeader("Content-Disposition", "attachment; filename=output.csv"); 
response.setContentType("application/ms-excel"); 
response.setCharacterEncoding("UTF-8");

我可以打开 .csv 文件,但它是空的。我的数据没有填充到其中。 请建议我做错了什么。


FileWriter将内容写入output.csv文件,不在响应输出流上。你应该做类似的事情:

OutputStream out = response.getOutputStream();

获取响应输出流。

并将内容写入out流,类似:

response.setContentType("application/ms-excel"); // or you can use text/csv
response.setHeader("Content-Disposition", "attachment; filename=output.csv"); 
try {
    // Write the header line
    OutputStream out = response.getOutputStream();
    String header = "EmployeeCode, Band\n";
    out.write(header.getBytes());
    // Write the content
    String line=new String(EmployeeCode+","+Band+"\n");
    out.write(line.toString().getBytes());
    out.flush();
} catch (Exception e) {
   log.error(e);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

导出为 CSV 文件并在浏览器中打开 的相关文章

  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • C++ 中具有双缓冲区的单生产者、单消费者数据结构

    我在 work 有一个应用程序 我必须在以不同频率调度的两个实时线程之间移动 实际的调度超出了我的控制范围 应用程序是硬实时的 其中一个线程必须驱动硬件接口 因此线程之间的数据传输应该是无锁和无等待的可能的程度 需要注意的是 只需要传输一个
  • 为什么 Perl 文件 glob() 不能在标量上下文中的循环之外工作?

    根据有关文件通配的 Perl 文档 运算符或 glob 函数在标量上下文中使用时 应迭代与指定模式匹配的文件列表 每次调用时返回下一个文件名或undef 当没有更多文件时 但是 迭代过程似乎只能在循环内进行 如果它不在循环中 那么它似乎在读
  • 如何判断 XSD 文件中的 XML 元素是否被标记为必需

    我需要在 XSD 架构中将某些元素标记为非必需元素 我如何弄清楚哪些元素被标记为必需 是否有我应该搜索的特定标志 目前我的所有元素都标记为minOccurs 0 这是需要改变的吗 Yes minOccurs 0 是您需要添加到元素中的可选内
  • T-SQL层次结构查询

    I have a table with hierarchical data 这是包含 id 父 id 名称 代码 有时未填充 级别和 isroot 列的数据示例 在实际场景中 级别会多于 2 个 但现在让我们看一下简化的示例 我需要做的是循
  • pdo_oci make 不起作用

    最近我将 opensuse 12 3 更新到了较新的 13 1 不幸的是 我无法编译所需的 pdo oci so 使用本指南 您可以在 12 3 上编译扩展 http forums opensuse org english other fo
  • Excel 2013 VBA 代码中的特殊字符(字母 čćžšđ)

    我在 Excel 2010 VBA 中编写了一个程序 其中包含像 这样的字母 Msgbox i a gli a works 看起来 Excel 2013 支持单元格和公式中的这些字母 但在 VBA 中则不然 VBA 用一些键盘上没有的符号替
  • ASP.NET AJAX 调用中的 Response.Redirect

    我在 UpdatePanel 中有一个按钮 如果单击该按钮 在某些情况下会将用户重定向到同一文件夹中的另一个页面 否则将使用一些信息更新 UpdatePanel 如果我以这种方式进行重定向 Response Redirect Test as
  • 类库中的实体框架代码优先

    今天早上我刚开始尝试 EF4 代码 并在单独的类库中创建了 POCO 数据上下文和初始化器类 我相信这是常规的样板类型代码 我在 MVC3 应用程序中引用该类 并在 Global asax 中设置初始值设定项 运行应用程序时 我注意到以下问
  • Excel for Mac 2016 的 xlwings

    我正在使用 mac OS X Sierra 和 Mac for Excel 2016 和 python 3 6 我正在尝试从 excel 启动 python 脚本 因为 我已经有一个具有很多功能的 Excel 我想使用 Python 向该产
  • std::map insert() 提示位置:c++98 和 c++11 之间的区别

    On cplusplus 在 map insert 上的条目 http www cplusplus com reference map map insert 我读到了可以添加的位置作为函数的提示 即 函数优化其插入时间 如果position
  • 移动重叠间隔直到没有重叠的算法

    我有一个重叠间隔的排序列表 间隔永远不会相互包含 例如 7 11 9 14 12 17 输出的约束是让每个元素尽可能接近它的 原点 间隔的中间 保留输入的顺序 并删除所有重叠 只有一个 需要近似解 示例输入的预期结果为 5 9 9 14 1
  • MyBatis -Where 子句中的嵌套条件

    我在 MyBatis v3 映射器 xml 中动态生成 where 子句 不过加括号确实很麻烦 有没有更简单的方法来处理这个问题而不使用 if 语句
  • 强制内连接与多对多关系实体框架

    我的数据库中有一个多对多关系设置 如下所示 User Id PK Identity First Last various other fields Skill Id PK Identity Description UserSkill Use
  • kubeflow ParallelFor使用之前的containerop输出

    我可以使用创建静态 for 循环 with dsl ParallelFor 1 2 3 as item 我怎样才能使用container op output作为输入ParallelFor 假设第一个容器输出一个整数n 然后我想跑Parall
  • Mongodb 驱动程序:主机和选项之间缺少分隔斜杠

    我复制了代码MONGODB NODE JS 驱动程序 2 2 https mongodb github io node mongodb native 2 2 tutorials connect authenticating 并做了一些修改
  • 从 Spark 中的类别列表创建一个热编码向量

    如果我有包含 5 个类别 A B C D E 的数据和一个客户数据集 其中每个客户可以属于一个 多个或不属于任何类别 我怎样才能获取这样的数据集 id categories 1 A C 2 B 3 4 D E 并将类别列转换为一个热编码向量
  • 使用 MySQL 设置 .NET MVC3

    Hy Guys 如何配置 Web 配置以使用 MVC 3 访问 mysql 数据库 为了使用 SQLExpress 我在示例中包含了这段代码来配置
  • 网络电子邮件斑马条纹表在 Gmail、Hotmail、Outlook 上不可能吗?

    我正在尝试创建一个具有斑马条纹样式的网络邮件模板 该模板在不同的客户端上看起来相同 该模板来自第三方应用程序 我无法控制 该应用程序迭代候选者 我唯一能做的就是为每个候选者创建一个部分 如下所示伪代码 for candidate of ca
  • 使用同一 DLL 的多个版本

    我遇到过一种情况 应用程序具有一个或多个 dll 的多个 不兼容 版本 app exe a dll v3 0 plugins foo foo dll plugins foo a dll v4 0 plugins foo 在这个例子中 app
  • 导出为 CSV 文件并在浏览器中打开

    我遇到了一个问题 我需要将数据导出到 csv 文件 但不将文件存储在文件系统中 相反 我只需要在浏览器中打开文件 我编写了以下代码将数据写入 csv 文件 FileWriter myWriter new FileWriter output