Я могу генерировать файлы Excel с собственными диаграммами Excel на Linux?

Нет, существует все еще риск Внедрения SQL любое время, Вы интерполируете непроверенные данные в SQL-запрос.

Параметры запроса помогают избежать этого риска путем разделения литеральных значений от синтаксиса SQL.

'SELECT * FROM mytable WHERE colname = ?'

Это прекрасно, но существуют другие цели интерполировать данные в динамический SQL-запрос, который не может использовать параметры запроса, потому что это не значение SQL, но вместо этого имя таблицы, имя столбца, выражение или некоторый другой синтаксис.

'SELECT * FROM ' + @tablename + ' WHERE colname IN (' + @comma_list + ')'
' ORDER BY ' + @colname'

не имеет значения, используете ли Вы хранимые процедуры или выполняете динамические SQL-запросы непосредственно от кода приложения. Риск все еще там.

средство в этих случаях должно использовать FIEO по мере необходимости:

  • Вход Фильтра: проверяют это, данные похожи на законные целые числа, имена таблиц, имена столбцов, и т.д. перед интерполяцией их.

  • Вывод Escape: в этом случае "вывод" означает помещать данные в SQL-запрос. Мы используем функции для преобразования переменных, используемых в качестве строковых литералов в SQL-выражении, так, чтобы меток кавычки и других специальных символов в строке оставили. Мы должны также использовать функции для преобразования переменных, которые использовались бы в качестве имен таблиц, имен столбцов, и т.д. Что касается другого синтаксиса, как запись целых SQL-выражений динамично, это - более сложная проблема.

5
задан Marc Gravell 2 November 2009 в 17:44
поделиться

3 ответа

Да, Spreadsheet :: WriteExcel имеет функцию embed_chart ($ row, $ col, $ filename, $ x, $ y, $ scale_x, $ scale_y), которая позволяет вам это делать.

9
ответ дан 18 December 2019 в 07:09
поделиться

Spreadsheet :: WriteExcel позволяет вставлять диаграммы из существующих файлов (с некоторыми оговорками).

См. Следующие под- документ на Spreadsheet :: WriteExcel Charts и файлы примеров в дистрибутиве, такие как этот .

PS Я являюсь автором этого модуля.

8
ответ дан 18 December 2019 в 07:09
поделиться

Попробуйте Spreadsheet :: WriteExcel .

5
ответ дан 18 December 2019 в 07:09
поделиться
Другие вопросы по тегам:

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