在 Google App Engine for Python 中使用 xlsxwriter

2023-12-10

我想知道是否有人知道如何在 Google App Engine for Python 中使用 xlsxwriter。该文档仅显示如何打开、写入和保存到文件。我已经研究过使用 StringIO 用于其他 Excel 库的解决方法,但它们似乎无法转移到 xlsxwriter。主要原因似乎是在其他库中您可以提供 StringIO 缓冲区,而在 xlsxwriter 中您只能提供文件名的字符串。

我有一个使用 pyexcelerator 的基本解决方案,但 xlsxwriter 的功能更加丰富,如果可能的话,我想使用它。


更新:issue已由 xlsxwriter 作者修复(自 0.4.8 版本起有效)。请参阅example.


依赖于我的回答这个线程,这是应该在 GAE 上起作用的:

from xlsxwriter.workbook import Workbook

class IndexHandler(webapp2.RequestHandler):
    def get(self):
        book = Workbook(self.response.out)
        sheet = book.add_worksheet('test')
        sheet.write(0, 0, 'Hello, world!')
        book.close()

        # construct response
        self.response.headers['Content-Type'] = 'application/ms-excel'
        self.response.headers['Content-Transfer-Encoding'] = 'Binary'
        self.response.headers['Content-disposition'] = 'attachment; filename="workbook.xls"'

但是,它会抛出一个错误:

NotImplementedError:只有 tempfile.TemporaryFile 可供使用

because xlsxwriter尝试使用写入临时目录tempfile.tempdir不管怎样,看看source of _store_workbook方法。而且,GAE 不允许tempfile项目中要使用的模块:参见source,因为,如您所知,无法访问那里的磁盘。

于是,这里就形成了“恶性循环”。也许你应该考虑修改_store_workbook使其完全在内存中工作的方法。或者,也许你可以mock tempfile.tempdir即时调用并将其替换为您自己的内存中对象。

另一种选择是创建一个问题xlsxwriter 问题跟踪器,我打赌@jmcnamara 在这个主题上有一些好主意。

希望有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Google App Engine for Python 中使用 xlsxwriter 的相关文章

随机推荐

  • IE中的rowspan和colspan问题

    因此 我需要创建具有复杂的 colspan 和 rowspan 系统的表 你可以看一下here 这是HTML table cellspacing 0 cellpadding 0 style width 100 tr td img src h
  • 如何在 MATLAB 中为该向量生成映射键?

    我有一个正在查看多个元素的函数 每个元素都是 8x1 列向量的形式 向量中的每个条目都是小于 1000 的整数 每次看到这样的向量时 我都会在检查该向量是否已在此列表中后将其添加到 已见过 向量列表中 该函数将检查约 100 000 个此类
  • 如何使用 Perl 找到目录及其所有子目录中最新的 .pl 文件?

    如何扫描整个目录的内容 包括其子目录的内容 并找到最新的 pl使用 Perl 在其中创建文件 我想构建所有完整文件路径的排序数组 列表 pl目录树中的文件 因此 例如 如果我的基本目录是 home users cheeseconqueso
  • C#同时执行2个线程

    我正在尝试在 HTTP 处理程序中重现线程错误条件 基本上 ASP net 工作进程正在创建 2 个线程 它们在加载某个页面时同时调用我的应用程序中的 HTTP 处理程序 http 处理程序内部是一个非线程安全的资源 因此 当两个线程尝试同
  • Visual Studio 不在我的 Asp.net MVC 视图中显示 Linq 扩展

    这让我感到困惑 我似乎无法使 Visual Studio 2010 识别视图代码中的 System Linq 扩展方法 Intellisense 不起作用 并且 Visual Studio 红色下划线无法识别的扩展方法 这些是 web co
  • 在闪亮页面中使用可变数量的输入字段

    我的问题如下 我有一个闪亮的应用程序 它根据用户输入显示可变数量的输出元素 例如 详细信息如下 使用闪亮动态添加绘图到网页 但是 我还想向每个输出元素添加一个输入元素 允许用户为输出指定一些修饰符 例如 让用户选择将每个元素视为绘图还是表格
  • 在相同或最接近的日期上进行 SQL 连接

    我有两张桌子 表 a 每个 id 1 行 id observation date a 2015 03 01 b 2015 03 03 c 2015 03 05 表 b 每个 ID 有多行 但每个 ID 日期组合都是唯一的 id insert
  • 使用“geom_line()”,以 X 轴为因子

    假设我有一个数据框 hist lt data frame date Sys Date 0 13 counts 1 14 我想使用工作日绘制总计数line连接点 以下放points对每个值 hist lt transform hist wee
  • 当我从 .jar 运行时,为什么 Java Sound 的行为有所不同?

    The play下面的方法来自一个类 该类在实例化时将 wav 文件读取到名为的字节数组中data 并将声音格式存储在AudioFormat称为的对象format 我有一个程序调用play from a java util Timer 当我
  • Pandas:将数据帧列转换为字典,其中 col 标题作为 dict 键,col 值作为 dict 值

    我有一个数据框 如下所示 NAME ID 155 ARBITRARY A 697381 208 ARBITRARY B 691820 265 ARBITRARY C 691782 272 ARBITRARY D 695593 我想将其转换为
  • C# Excel 互操作:HRESULT 异常 (DISP_E_BADINDEX)

    我正在尝试部署一个在我的开发电脑和其他一些工作站上运行良好的应用程序 但是 有些用户收到了我似乎无法理解的错误 该程序是一个具有 Excel Interop 功能的 C dotNet 应用程序 Office 2003 我似乎遇到了 索引 的
  • 康威的生命游戏,数邻居[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我的代码中某处有错误 我认为我正在进入无限循环 基本上
  • 调整 Google Cloud Storage 中的图像大小

    appengine image 包可以很好地处理存储在 Blobstore 中的图像 但是 调整存储在 Google Cloud Storage 中的图像大小的好方法是什么 您可以将相同的图像服务与 Google Cloud Storage
  • 如何防止 JMenuItem 在单击 JMenuItem 时关闭菜单

    我该如何预防JMenuItem从关闭菜单时JMenuItem被点击了 The JMenuItem已启用 这就是场景 我有 3JMenuItems JMenuItem A B C C显示一个整数X A和B用于递增或递减X值 1 如果单击 A
  • jQuery 将一个表按特定行号拆分为两个表

    我需要使用 jQuery 将一个表分成两个具有特定行号的表 这可以做到吗 我用谷歌搜索但找不到任何东西 jQuery 相当强大 我本来以为可以做到这一点 该表没有编号 因此 jQuery 需要对行进行索引 非常感谢对此的任何帮助 C jQu
  • 模板渲染期间需要解压的值太多

    我现在正在学习 Django 遇到了这个错误 我有点困惑 我正在尝试将我的表格放到我的主页上 我收到此错误 code 主页 views py from django shortcuts import render from forms im
  • 用不同颜色绘制线

    import pandas as pd import matplotlib pyplot as plt import numpy as np df1 pd DataFrame np random randint 0 15 size 15 1
  • iPhone 中真正的模态 UIAlertView?

    我需要运行一些取决于用户决定的验证 例如 如果批准超出支出限额的购买 并在失败时拒绝 完成 操作 然而 看起来不可能像其他语言那样有真正的模态操作 如 showmessage alert 等 并且一切都是由委托完成的 但后来我不知道该怎么办
  • 未找到 javac1.8 类

    我安装了两个jdk jdk 1 5和jdk 1 8 我有以下 Ant build xml 配置文件
  • 在 Google App Engine for Python 中使用 xlsxwriter

    我想知道是否有人知道如何在 Google App Engine for Python 中使用 xlsxwriter 该文档仅显示如何打开 写入和保存到文件 我已经研究过使用 StringIO 用于其他 Excel 库的解决方法 但它们似乎无