Результатом генерации электронной таблицы Excel является & ldquo; формат файла, отличный от ошибки расширения & rdquo; при открытии в Excel 2007

Вы можете сделать это, используя select

import subprocess
from datetime import datetime
from select import select

def call_with_timeout(cmd, timeout):
    started = datetime.now()
    sp = subprocess.Popen(cmd, stdout=subprocess.PIPE)
    while True:
        p = select([sp.stdout], [], [], timeout)
        if p[0]:
            p[0][0].read()
        ret = sp.poll()
        if ret is not None:
            return ret
        if (datetime.now()-started).total_seconds() > timeout:
            sp.kill()
            return None
30
задан Simple Sandman 6 February 2015 в 17:51
поделиться

4 ответа

http://blogs.msdn.com/vsofficedeveloper/pages/Excel-2007-Extension-Warning.aspx

, Который является ссылкой, в основном описывающей тот MS, знает о проблеме Ваш описывать и что это не может быть подавлено из кода ASP.NET. Это должно подавляться/фиксироваться на реестре клиента.

29
ответ дан Eric H 6 February 2015 в 17:51
поделиться
  • 1
    Я понимаю что you' достигающее ре. И копирование значений является путем к " получите around" при замораживании объекта, но в конце всего этого obj != tempObj - их подписи больше не являются тем же. – CodingIntrigue 17 February 2014 в 11:02

Я aam более любящий использование Сетки и изменение ответа ввожу, у меня должна все же быть проблема с той методологией. Я не использовал прямые файлы с разделением табуляцией. Одна возможность является \n, возможно, придется быть \r\n. Просто слепой выстрел.

0
ответ дан Gregory A Beamer 6 February 2015 в 17:51
поделиться
  • 1
    Можете Вы говорить почему они didn' t обеспечивают шаг для размораживания объекта? – badarshahzad 29 June 2018 в 05:22

Используйте

content-type=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

И определите расширение как xlsx

0
ответ дан Danny G 6 February 2015 в 17:51
поделиться
  • 1
    Это был бы SWEEEEET, если объект мог бы быть разморожен, пока размораживать вызов произошел в том же объеме. Это было бы ОГРОМНЫМ сохранением для использования памяти, чтобы не клонироваться. f.e. Object.freeze(obj); thirdPartyRoutine(obj); Object.unfreeze(obj); /*continue using obj*/ – trusktr 19 February 2018 в 19:07

Если вы похожи на меня и создаете лист Excel как документ XML 2003, вы можете удалить предупреждения, выполнив следующие действия:

Добавлено в выходные данные XML:

<?xml version="1.0" encoding="utf-16"?>
  <?mso-application progid="Excel.Sheet"?>
  ...

Добавлено в страница загрузки:

// Properly outputs the xml file
response.ContentType = "text/xml";

// This header forces the file to download to disk
response.AddHeader("content-disposition", "attachment; filename=foobar.xml");

Теперь Excel 2007 не будет отображать предупреждение о несовпадении содержимого и расширения файла.

18
ответ дан 27 November 2019 в 22:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: