PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » PureBasic для Windows » PureBasic Excel


PureBasic Excel

Сообщений 1 страница 12 из 12

1

Есть библиотека для работы с Excel, которая может открывать и создавать *.xlsx файлы?
В интернете есть но на xls, и некоторые нет возможности скачать файл или библиотеку.

0

2

Есть PureDispHelper, COMatePLUS через которые можно взаимодействовать с Excel.

0

3

Пётр написал(а):

Есть PureDispHelper, COMatePLUS через которые можно взаимодействовать с Excel.

Где есть ссылки, они битые.
Пример с COMatePLUS: https://www.purebasic.fr/german/viewtop … mp;t=23254

У тебя есть эти библиотеки  и примеры кода на xlsx?

Отредактировано @ZOLO@ (01.02.2022 15:10:44)

0

4

http://pure-basic.narod.ru/forum_files/ … Helper.zip
http://pure-basic.narod.ru/forum_files/ … tePLUS.zip

+1

5

Как в COMatePLUS, считать все колонки, а то не могу найти примера или кода, для создания и открытия, сохранения нашел.

У кого есть ExcelFunktion.pbi?

0

6

Это скорее вопрос по VBA, а не PB.
Обычно читается не вся таблица, а только используемая часть https://docs.microsoft.com/ru-ru/office … .usedrange

0

7

У себя нашел в закромах, если кому надо ExcelFunktionen

+1

8

@ZOLO@
LibXL

0

9

Очень полезно.
Извините, гости не могут заходить в этот форум. Пожалуйста зарегистрируйтесь!.

0

10

@ZOLO@
проблема зарегаться? тогда так
https://www.libxl.com/
https://www.libxl.com/documentation.html

Отредактировано Lin (03.02.2022 05:57:05)

0

11

Lin написал(а):

проблема зарегаться?

А зачем?
И при этом, надо переписывать на PureBasic.
Но все равно Спасибо.

0

12

@ZOLO@ написал(а):

И при этом, надо переписывать на PureBasic.

хз о чём речь, вот простенький пример:

Код:
PrototypeC  xlCreateBook()
PrototypeC  xlCreateXMLBook()
PrototypeC  xlBookAddSheet(handle, name.p-unicode, nil)
PrototypeC  xlBookLoad(handle, filename.p-unicode)
PrototypeC  xlBookSave(handle, filename.p-unicode)
PrototypeC  xlBookRelease(handle)
PrototypeC  xlBookSetKey(handle, name.p-unicode, key.p-unicode)
PrototypeC  xlSheetReadStr(handle, row.i, col.i, format=#Null)
PrototypeC  xlSheetWriteStr(handle, row.i, col.i, value.p-unicode, format=#Null)

Global xlBookAddSheet.xlBookAddSheet
Global xlBookLoad.xlBookLoad
Global xlBookRelease.xlBookRelease
Global xlBookSave.xlBookSave
Global xlBookSetKey.xlBookSetKey
Global xlCreateBook.xlCreateBook
Global xlCreateXMLBook.xlCreateXMLBook
Global xlSheetReadStr.xlSheetReadStr
Global xlSheetWriteStr.xlSheetWriteStr

Procedure.i libxl_LoadDLL()
  Protected hDLL.i
  hDLL = OpenLibrary(#PB_Any, "libxl.dll")
  If hDLL <> 0
    xlBookAddSheet = GetFunction(hDLL, "xlBookAddSheetW")
    xlBookLoad = GetFunction(hDLL, "xlBookLoadW")
    xlBookRelease = GetFunction(hDLL, "xlBookReleaseW")
    xlBookSave = GetFunction(hDLL, "xlBookSaveW")
    xlBookSetKey = GetFunction(hDLL, "xlBookSetKeyW")
    xlCreateBook = GetFunction(hDLL, "xlCreateBookW")
    xlCreateXMLBook = GetFunction(hDLL, "xlCreateXMLBookW")
    xlSheetReadStr = GetFunction(hDLL, "xlSheetReadStrW")
    xlSheetWriteStr = GetFunction(hDLL, "xlSheetWriteStrW")
    ProcedureReturn hDLL
  EndIf
  Debug "dll not loaded"
EndProcedure

libxl_LoadDLL()
;*book = xlCreateBook()    ; xls format
*book = xlCreateXMLBook() ; xlsx format
;xlBookSetKey(*book, "Name", "Key")
If(*book)
  *sheet = xlBookAddSheet(*book, "Example", 0);
  If(*sheet)
    For row = 1 To 3
      xlSheetWriteStr(*sheet, row, 0, Str(row))
    Next 
    xlSheetWriteStr(*sheet, 1, 1, "Red")
    xlSheetWriteStr(*sheet, 2, 1, "Green")
    xlSheetWriteStr(*sheet, 3, 1, "Blue")
  EndIf
  xlBookSave(*book, "my_example.xlsx")
  xlBookRelease(*book)
EndIf

Отредактировано Lin (03.02.2022 21:46:38)

0


Вы здесь » PureBasic - форум » PureBasic для Windows » PureBasic Excel