StgOpenStorage для *.xlsx ?

gera3323
Дата: 26.03.2015 14:39:39
Почему не открывает ? Какой аналог этой функции работает с *.xlsx.
Leonid Kudryavtsev
Дата: 26.03.2015 14:46:07
Что не ясно?
Документация
1.3 Structure Overview (Synopsis)

This document specifies spreadsheet-related extensions to Office Open XML file formats as described in [ISO/IEC29500-1:2011]. Workbook data is contained in a ZIP package conforming to the Open Packaging Conventions as described in [ISO/IEC29500-2:2011]. Individual files stored in the ZIP package, called parts [ISO/IEC29500-1:2011], contain information about the content and structure of a workbook, including workbook data, such as worksheet definitions. Some parts [ISO/IEC29500-1:2011]) store information by using XML and other parts [ISO/IEC29500-1:2011] store information by using binary data. The extensions specified in this document use the conventions specified by [ISO/IEC29500-3:2011], and they are both structures within parts specified by [ISO/IEC29500-1:2011] and extension parts within the package described by [ISO/IEC29500-2:2011].


( C ) https://msdn.microsoft.com/en-us/library/dd922181(v=office.12).aspx
gera3323
Дата: 26.03.2015 14:49:18
Leonid Kudryavtsev, переведи
mayton
Дата: 26.03.2015 15:16:49
Тут тема "плюсов" не прослеживается. Ставлю вопрос о переносе.
Leonid Kudryavtsev
Дата: 26.03.2015 16:33:34
AFAIK

StgOpenStorage - работает с OLE / COM потоками (Structured Storage provides file and data persistence in COM by handling a single file as a structured collection of objects known as storages and streams)

xlsx - просто ZIP файл. Можно распаковать с помощью pkunzip, WinRar или другой программы. Применительно к программированию - смотреть библиотеки и функции для работы с ZIP файлами

Т.к. Вы не указали, зачем Вы пытаетесь открыть xlsx файл с помощью StgOpenStorage, соответственно не понятно, какой "аналог" Вы ищете.
mayton

Не предлагаешь же ты перенести в подфорум Windows ))). IMHO

P.S.
Подозреваю, что у человека "наследованный" код от предыдущих коллек. Который раньше работал, а в новых реалиях жизни сказал "кряк" )))
Anatoly Moskovsky
Дата: 26.03.2015 17:00:00
Leonid Kudryavtsev
Подозреваю, что у человека "наследованный" код от предыдущих коллек. Который раньше работал, а в новых реалиях жизни сказал "кряк" )))

Подозреваю, что одной распаковкой zip вместо olestg не обойтись, ведь внутренности тоже поменялись ))
Leonid Kudryavtsev
Дата: 26.03.2015 17:17:02
Anatoly Moskovsky
Подозреваю....

Автор деталей не привел.
+

-Сколько нужно программистов, что бы закрутить лампочку?
-Ни одного. This is a hardware problem

Проблему можно решить разными способами:
1. административным - разобраться, почему неожиданно на вход пришел XLSX файл и дать пользователям втык. В целом documetation bug и баг обучения пользователей. Ничего кодировать не нужно
2. Заплатка на входе, преобразующая данные в нужный формат. Старый код трогать не нужно
3. Разломать все и написать заново
и другие, разные решения

Но что нужно автору, мы не знаем )))

IMHO /In my humble opinion/
Владимир2012
Дата: 13.04.2015 12:07:12
Может быть поможет?

ActiveX для работы с structured storage [url=]http://www.1cpp.ru/forum/YaBB.pl?board=repo[/url]

PS: Перед праздником поместил в репозитарий