java - 将 GAE App Engine 数据存储区实体导出到 csv

标签 java google-app-engine csv google-cloud-datastore

我目前在 HTML 表中显示了实体及其属性的列表,但我想添加一项功能,让用户单击按钮将实体数据下载为 .csv 文件。这样做的最佳方法是什么?我考虑过使用 Javascript 直接从 HTML 表创建 csv 文件,但这并不兼容所有浏览器。有没有一种简单的方法可以让数据存储区写出 csv 文件?

最佳答案

如果您可以保证可以在用户请求超时期间导出数据,您可以通过在处理程序中执行此操作来创建它,只需查询并创建 csv,然后发送适当的 header 以开始下载,但有时这些 header 可能会变大导出您应该只使用任务队列。

该任务将查询并写入 blobstore 或 gcs,然后在准备好时通知用户已准备好下载。您还可以使用 channel api 进行此推送,因此它是即时的。所以流程是:

click Export Button
create a channel connection and show a loading icon
run the task with channel id and needed info to create it
when done send message to channel
onReceive download complete do a location.href=your.csv

这只是一个示例,您可以改进它,它不需要您等待并在刷新时显示链接或其他内容。

关于java - 将 GAE App Engine 数据存储区实体导出到 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866544/

相关文章:

java - 提高优先级队列堆中的键搜索时间复杂度

google-app-engine - NDB 是否仍使用 default=None 或属性设置为 None 进行索引?

java.lang.VerifyError : Bad type on operand stack

java - 使用分隔符

Python CSV - 需要对按另一列中的值分组的列中的值进行求和

java - 使用Scanner()读取CSV

java - logback有时不写入日志文件,有时不回滚日志文件

java - 如何访问运行在虚拟机中的主机中的Web应用程序

java - 序列化 Java 进程然后反序列化它——最好以非侵入方式

android - 在 Google AppEngine 上运行部署的应用程序时出现问题