Откройте защищенный паролем файл ods с помощью python-xlswriter или bash - PullRequest
1 голос
/ 05 ноября 2019

Мне нужен код для открытия электронной таблицы через python3 (предпочтительно) или bash, который я даю им пароль, и они их читают.

Я пытаюсь с помощью python-модуля "xlswriter"

Я защищаюxlsx с помощью этого метода:


import xlsxwriter
workbook = xlsxwriter.Workbook('for-test-password.xlsx')
worksheet = workbook.add_worksheet()
content = (
    ['Gas', 10],
    ['Gasoline',   20],
    ['Potro',  30],
    ['Other',40],
)

row = 0
col = 0
for item, cost in (content):
    worksheet.write(row, col,     item)
    worksheet.write(row, col + 1, cost)
    row += 1
worksheet.protect('Passwd')

или попробуйте использовать этот код в bash-script

LibreOffice -p password -f xlsx for-test-password.xlsx

Но это не возвращает данные в электронной таблице.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

Я защищаю xlsx следующим способом:

worksheet.protect('Passwd')

Это не защита паролем рабочей книги. Это защищает рабочий лист. В XlsxWriter не поддерживается защита паролем файла книги / xlsx.

Из документов XlsxWriter о protect () :

Примечание

Пароли уровня рабочего листа в Excel обеспечивают очень слабую защиту. Они не шифруют ваши данные и их очень легко деактивировать. Полное шифрование рабочей книги не поддерживается XlsxWriter, поскольку для него требуется совершенно другой формат файла, а для его реализации потребуется несколько человеко-месяцев.

0 голосов
/ 05 ноября 2019

You missed the workbook.close()

Найти код.

import xlsxwriter
workbook = xlsxwriter.Workbook('for-test-password.xlsx')
worksheet = workbook.add_worksheet()
content = (['Gas', 10],['Gasoline', 20],['Potro', 30],['Other',40],)
row = 0
col = 0
for item, cost in (content):
    worksheet.write(row, col, item)
    worksheet.write(row, col + 1, cost)
    row += 1
    worksheet.protect('Passwd')
workbook.close()

Примечание: вышеуказанный код работает нормально в python2.7

Чтобы открыть пароль, защищенный в терминале / bash, вам нужен модуль, который можно найти здесь

Рабочий лист защищен и его атрибуты можно найти здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...