Tstringgrid copy/paste to/from ms excel and oo calc bug

Как пользоваться

Для применения всех возможностей софта важно знать, как пользоваться Power Query. Рассматриваемый инструмент имеет ряд полезных функций:

  •  «Добавить столбец» — создание новых элементов на основе существующих;
  • «Заменить значение» — установка нового параметра;
  • «Группировать и агрегировать» — группировка информации и вычисление требуемого параметра;
  • «Изменить тип данных» — внесение правок в столбец;
  • «Объединение запросов» — преобразование и объединение информации из разных источников в одну таблицу;
  • «Фильтрация строк» — применение фильтра на базе определенного условия.

Примеры для Power Query в отношении использования можно приводить долго, ведь инструмент имеет много функций и возможностей.

КУРС

ОСНОВЫ DATA SCIENCE

Научитесь использовать инструменты анализа данных, включая языки программирования и средства визуализации.

Сравним получившиеся XLSX и Excel XML

Первый скриншот — это результат сохранения в формате XLSX и как мы видим, данный формат не поддерживает данные сложнее обычного текста. А вот второй скриншот показывает нам все возможности формата XML, т.е. полную  поддержку штрихкодов, картинок. Если говорить про вес файлов, то результат ожидаемый: XLSX 48,0 КБ, XML 40,0 КБ.

Разберёмся подробнее почему XLSX весит больше XML. За основу взяли вот этих прекрасных рыбок. Данный документ содержит много текста, табличные данные и 30 фотографий. Для большей наглядности сравним ещё и нестареющий Excel 97, о котором мы говорили в другой статье.

Excel 97 — Формат двоичных файлов, бинарник (biff8), про сжатие тут не слышали и потому вес файла столь велик. В отличии от более позднего XML, формат 97 года поддерживает все виды изображений.Excel table (XML) — Ранняя версия XLSX, где данные хранятся как простые одиночные монолитные XML-файлы, что делает их довольно большими, по сравнению с OOXML и устаревшими двоичными форматами Microsoft Office. Но на скриншоте вес минимален — возмутился бы каждый! Ответ прост, данный вес указан за документ, где отображаться будет только текст. А теперь представьте, если бы тут всё-таки была поддержка картинок, да он бы занимал кучу места, ведь о сжатии на этом моменте всё ещё никто не знает. Кроме того, встроенные элементы, такие как изображения, хранятся в виде двоичных закодированных блоков, но недоступны для отображения. Excel 2007 XLSX (XML) — Microsoft взяли лучшее от прошлых форматов и внедрили сжатие файлов. Размер документа приблизительно на 50-75 процентов меньше, чем в предыдущих версиях.

Импорт данных из Excel 2007 и выше (файл xlsx) в Microsoft SQL Server x86

Шаг 1 – Проверяем наличие провайдера Microsoft.ACE.OLEDB.12.0 на SQL Server

Точно так же, как и в предыдущем примере, сначала проверяем, установлен ли у нас необходимый нам провайдер, в данном случае нам нужен Microsoft.ACE.OLEDB.12.0.

   
   EXEC sp_enum_oledb_providers;

Шаг 2 – Установка провайдера Microsoft.ACE.OLEDB.12.0 (32-bit)

Если провайдера нет, то его необходимо установить.

Вот ссылка на скачивание провайдера

Выберите и скачайте файл, соответствующий архитектуре x86 (т.е. в названии без x64).

В данном случае также даем права на временный каталог локальной или сетевой службы всем пользователям, которые будут посылать SQL запросы к файлу Excel.

Используем все ту же утилиту командной строки icacls.

Для локальной службы

    
   icacls C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp /grant UserName:(R,W)

Для сетевой службы

   
   icacls C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp /grant UserName:(R,W)

Вместо UserName укажите имя пользователя, который посылает запрос.

Шаг 4 – Включаем распределенные запросы на SQL Server

Включаем возможность использования OPENDATASOURCE и OPENROWSET на Microsoft SQL Server, повторюсь, что по умолчанию данная возможность отключена.

   
   sp_configure 'show advanced options', 1;
   RECONFIGURE;
   GO
   sp_configure 'Ad Hoc Distributed Queries', 1;
   RECONFIGURE;
   GO

Шаг 5 – Настройка провайдера Microsoft.ACE.OLEDB.12.0

В данном случае дополнительно потребуется настроить провайдер Microsoft.ACE.OLEDB.12.0. Для этого включим следующие параметры провайдера (для отключения укажите 0 вместо 1).

   
   EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
   GO
   EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
   GO

Если не включать данные параметры, то, скорей всего, появится ошибка примерно следующего содержания

Шаг 6 – Выполняем SQL запрос, обращение к файлу Excel

Примеры обращения к файлу Excel (TestExcel.xlsx).

OPENROWSET

   
   SELECT * FROM OPENROWSET
   (
    'Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;
     Database=D:\TestExcel.xlsx',
     'SELECT * FROM '
   );

OPENDATASOURCE

   
   SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
                                'Data Source=D:\TestExcel.xlsx;
                                 Extended Properties=Excel 12.0')...;

Linked Server

   
   --Создание связанного сервера
   EXEC sp_addlinkedserver @server = 'TEST_EXCEL',
                           @srvproduct = 'Excel',
                           @provider = 'Microsoft.ACE.OLEDB.12.0',
                           @datasrc = 'D:\TestExcel.xlsx',
                           @provstr = 'Excel 12.0;IMEX=1;HDR=YES;';

   --Настройки безопасности (авторизации)
   EXEC dbo.sp_addlinkedsrvlogin @rmtsrvname='TEST_EXCEL',
                                 @useself= 'False',
                                 @locallogin=NULL,
                                 @rmtuser=NULL,
                                 @rmtpassword=NULL;
   
   --Обращение к связанному серверу
   SELECT * FROM OPENQUERY (TEST_EXCEL, 'SELECT * FROM ');
   --или
   SELECT * FROM TEST_EXCEL...;

Технология Text-To-Speech в Delphi.

4 мая, 2010
Vlad

Предлагаю Вашему вниманию две статьи, рассчитаные на первое знакомство с технологией Text-To-Speech. Первая статья:Speech API (SAPI) в Delphi. Учим компьютер говорить. рассчитана на использование в версиях Windows ДО XP включительно. В Windows 7 приведенный в статье код вызывает ошибку.
Вторая статья: SAPI 5.4 для Windows 7. Реализация технологии Text-To-Speech в Delphi 2010 — рассматривает технологию TTS более подробно. В статье используется класс TspVoice, рассматриваются вопросы того как перечислить все голоса, используемые объектом, атрибуты голосов (пол, возраст, язык и т.д.), как проводить поиск голосов, используя значения атрибутов и т.д.

Расширения файлов Excel: полный список

  • .xls – расширение, используемое в Microsoft Excel версии 97-2003 для сохранения таблиц в двоичном формате. Файлы с этим расширением не могут содержать более 65536 строк и 256 столбцов.
  • .xlsx – стандартное расширение файлов Excel, используемое в версиях программы, выпущенных после Excel 2007. Формат xlsx основан на формате Office Open XML (OOXML) и поддерживает большие объемы данных, более 1 миллиона строк и 16000 столбцов.
  • .xlsm – расширение, используемое для файлов Excel, которые содержат макросы. Файлы с расширением xlsm могут содержать код VBA (Visual Basic for Applications), который позволяет работать с данными и автоматизировать задачи в Excel.
  • .xlsb – расширение, используемое для файлов Excel, сохраненных в двоичном формате. Файлы с расширением xlsb имеют более компактный размер, чем файлы в формате xlsx, и могут быть открыты как в Excel, так и в других приложениях Microsoft Office.
  • .xlt – расширение для шаблонов или файлов-заготовок Excel, которые можно использовать для создания новых документов с заранее заданным форматированием и содержимым.
  • .xltx – стандартное расширение для шаблонов Excel в новом формате (xlsx).
  • .xltm – расширение для шаблонов Excel, которые содержат макросы.
  • .xla – расширение для дополнений Excel (Add-In), которые могут быть подключены к программе и предоставлять дополнительные функции и возможности.
  • .xlam – архивное расширение для дополнений Excel (Add-In), предназначенных для распространения и запуска на разных компьютерах.

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

Примеры применения функций работы с эксель в Lazarus

Работа с эксель в Lazarus предоставляет множество возможностей для автоматизации процессов и обработки данных. Вот несколько примеров применения основных функций работы с эксель в Lazarus:

1. Создание нового документа:

Для создания нового документа Excel необходимо использовать функцию CreateOLEObject. Например:

var

ExcelApp: Variant;

begin

ExcelApp := CreateOLEObject(‘Excel.Application’);

ExcelApp.Workbooks.Add;

// Дальнейшая работа с документом

ExcelApp.Quit;

end;

2. Запись данных в ячейку:

Для записи данных в ячейку документа Excel используется свойство Range. Например:

ExcelApp.Range.Value := ‘Пример данных’;

3. Чтение данных из ячейки:

Для чтения данных из ячейки документа Excel также используется свойство Range. Например:

var

CellValue: Variant;

begin

CellValue := ExcelApp.Range.Value;

ShowMessage(CellValue);

end;

4. Запись данных в диапазон ячеек:

Для записи данных в диапазон ячеек документа Excel можно использовать цикл. Например:

var

i, j: Integer;

begin

for i := 1 to 5 do

for j := 1 to 5 do

ExcelApp.Range.Value := ‘Данные ‘ + IntToStr(i) + ‘-‘ + IntToStr(j);

end;

5. Сохранение документа:

Для сохранения документа Excel необходимо использовать метод SaveAs. Например:

ExcelApp.ActiveWorkbook.SaveAs(‘Путь\к\файлу.xlsx’);

Это лишь небольшая часть возможностей работы с эксель в Lazarus. Используя эти и другие функции, вы можете настроить и автоматизировать работу с документами Excel, добавлять форматирование, создавать диаграммы и даже взаимодействовать с другими приложениями.

Импорт данных из Excel (любые файлы) в Microsoft SQL Server x64

Шаг 1 – Проверяем наличие провайдера Microsoft.ACE.OLEDB.12.0 на SQL Server

В данном случае мы также используем провайдер Microsoft.ACE.OLEDB.12.0, сначала проверяем, зарегистрирован ли он на сервере.

   
   EXEC sp_enum_oledb_providers;

В случае, если провайдер не установлен, его необходимо скачать и установить.

Скачиваем файл x64.

Шаг 3 – Включаем распределенные запросы на SQL Server

Необходимость включения возможности использования распределенных запросов (OPENDATASOURCE и OPENROWSET) на Microsoft SQL Server x64 также есть, поэтому сначала включаем ее, выполнив точно такую же инструкцию.

   
   sp_configure 'show advanced options', 1;
   RECONFIGURE;
   GO
   sp_configure 'Ad Hoc Distributed Queries', 1;
   RECONFIGURE;

GO

Шаг 4 – Настройка провайдера Microsoft.ACE.OLEDB.12.0

В этом случае, скорей всего, настройка провайдера не потребуется, поэтому сначала сразу пробуем выполнить SQL запросы (обратиться к данным в Excel), и если возникает ошибка (все с тем же сообщением 7399 и 7330), то пробуем включить параметры AllowInProcess и DynamicParameters (для отключения укажите 0 вместо 1).

   
   EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
   GO
   EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
   GO

Шаг 5 – Выполняем SQL запрос, обращение к файлу Excel

Здесь используются точно такие же параметры в SQL запросах, что и в предыдущем примере. Для удобства продублирую их еще раз.

Примеры обращения к файлу Excel (TestExcel.xlsx).

OPENROWSET

   
   SELECT * FROM OPENROWSET
   (
    'Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;
     Database=D:\TestExcel.xlsx',
    'SELECT * FROM '
   );

OPENDATASOURCE

   
   SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
                                'Data Source=D:\TestExcel.xlsx;
                                 Extended Properties=Excel 12.0')...;

Linked Server

   
   --Создание связанного сервера
   EXEC sp_addlinkedserver @server = 'TEST_EXCEL',
                           @srvproduct = 'Excel',
                           @provider = 'Microsoft.ACE.OLEDB.12.0',
                           @datasrc = 'D:\TestExcel.xlsx',
                           @provstr = 'Excel 12.0;IMEX=1;HDR=YES;';
   
   --Настройки безопасности (авторизации)
   EXEC dbo.sp_addlinkedsrvlogin @rmtsrvname='TEST_EXCEL',
                                 @useself= 'False',
                                 @locallogin=NULL,
                                 @rmtuser=NULL,
                                 @rmtpassword=NULL;
   
   --Обращение к связанному серверу
   SELECT * FROM OPENQUERY (TEST_EXCEL, 'SELECT * FROM ');
   --или
   SELECT * FROM TEST_EXCEL...;

Чтение данных из файла Excel с помощью Lazarus

В Lazarus есть возможность открывать и читать данные из файлов Excel с помощью некоторых библиотек, таких как OLE Automation и ComObj.

Для начала, убедитесь, что у вас установлены эти библиотеки в Lazarus. Если у вас их нет, вы можете установить их с помощью пакетного менеджера Lazarus, например, LazPack или Online Package Manager.

После успешной установки библиотек вы можете использовать следующий код для чтения данных из файла Excel:

Данный код создает новый экземпляр приложения Excel, открывает указанный файл Excel и читает данные из него. Затем он выводит прочитанные данные в командную строку. После выполнения чтения данных, книга Excel и приложение закрываются.

Вы можете вставить этот код в событие OnClick кнопки или в любое другое удобное вам место вашего проекта Lazarus.

Надеюсь, эта статья поможет вам открыть и прочитать данные из файла Excel с помощью Lazarus и библиотек OLE Automation и ComObj. Удачи в вашем программировании!

Чтение данных из Excel

Доступ из 1С к Excel производится посредством OLE. Создание COM-объекта:

 Попытка
		Эксель =Новый COMОбъект("Excel.Application"); // для v7 код будет: Эксель = СоздатьОбъект("Excel.Application");
 Исключение
		Сообщить(ОписаниеОшибки());
		Возврат;
КонецПопытки;

Теперь используя переменную Эксель можно управлять приложением Excel.

Внимание! Microsoft Excel должен быть установлен на компьютере!

Следующая команда откроет книгу:

	Книга = Эксель.WorkBooks.Open(ПутьКФайлу);

Перед тем, как начать считывание данных, укажем лист книги, с которого будем считывать данные:

	Лист = Книга.WorkSheets(НомерЛиста);

Нумерация листов книги начинается с 1. Общее количество листов можно получить, используя следующую команду:

	КоличествоЛистов = Книга.Sheets.Count;

Лист можно выбрать по имени листа в книге:

	Лист = Книга.WorkSheets(ИмяЛиста);

Имя листа в книге можно получить по номеру:

	ИмяЛиста = Книга.Sheets(НомерЛиста).Name;

Точно так же можно задать имя листа:

        Книга.Sheets(6).Name = "6 Резерв на отпуск";

Итак, мы открыли книгу и выбрали лист, теперь посмотрим, сколько строк и колонок на выбранном листе:

	ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
	ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;

Получим значения ячейки листа в строке НомерСтроки и в колонке НомерКолонки:

	Значение = Лист.Cells(НомерСтроки, НомерКолонки).Value;

Ниже приведен отрывок кода, запустив который мы прочитаем все данные с первой страницы:

	Эксель = СоздатьОбъект("Excel.Application");
	Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
	Лист = Книга.WorkSheets(1);   

	ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
	ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;      

	Для Строка = 1 По ВсегоСтрок Цикл   

		Для Колонка = 1 По ВсегоКолонок Цикл
			Значение = СокрЛП(Лист.Cells(Строка,Колонка).Value);
		КонецЦикла;       

	КонецЦикла;

Где ПутьКФайлу — полный путь к файлу книги Excel (включая имя).

После выполнения действий необходимо закрыть книгу:

	Эксель.Application.Quit();

Создайте таблицу в файле Excel XLSX на С##

Вы также можете создать таблицу из диапазона ячеек на листе Excel и добавить строку для итогового значения (сумма, количество и т. д.) в таблице. Ниже приведены шаги для создания таблицы в файле Excel (XLSX) с использованием Aspose.Cells для .NET:

  • Загрузите книгу Excel или создайте новую с помощью класса Workbook.
  • Добавьте данные в ячейки рабочего листа.
  • Добавьте новый ListObject на рабочий лист.
  • Установите для свойства ListObject.ShowTotals значение true.
  • Подсчитайте итог и сохраните книгу в виде файла Excel .xlsx.

В следующем примере кода показано, как создать таблицу на листе Excel в C#.

Типы данных Power Query

Рассматриваемый инструмент поддерживает множество типов данных, включая следующие:

  1. Текстовый (Text). Используется для хранения текстовых значений, таких как имена, адреса, описания.
  2. Числовой (Number). Применятся для числовых значений, таких как целые числа, десятичные дроби и прочие.
  3. Дата/Время (Date/Time). Этот тип данных включает даты, времена и даты со временем.
  4. Логический (Logical). Касается таких значений, как «истина» или «ложь».
  5. Валюта (Currency). Используется для хранения валютных значений, таких как суммы денег.
  6. Процент (Percentage). Необходим для хранения процентных значений.
  7. Длительность (Duration). Применятся для сохранения продолжительности времени, например, длительности фильмов.
  8. Бинарный (Binary). Касается изображений или звуковых файлов.
  9. Рекорд (Record). Используется для хранения групп связанных значений: информации о клиенте.
  10. Список (List). Касается коллекции значений, например, списка продуктов в заказе.

Рассматриваемый инструмент автоматически определяет типы данных в импортированных таблицах и может изменять тип информации в столбцах, если это требуется.

КУРС

ОСНОВЫ DATA SCIENCE

Научитесь использовать инструменты анализа данных, включая языки программирования и средства визуализации.

Настройка DCOM для Excel.Application

И так у меня есть виртуальная машина под управлением Windows Server 2012 R2, на ней установлены серверные компоненты 1С, есть задача для Excel.Application модуля, настроить DCOM компоненты.

Нам необходимо открыть в панели управления Windows, компонент «Службы компонентов».

Либо можете, через окно выполнить ввести DCOMCNFG, откроется, тоже самое.

В службах компонентов (Component Services) откройте ветку:

Если по каким-то причинам у вас нет пункта Microsoft Excel Application, откройте реестр Windows, найдите ветку: HKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем ее. В ней должен быть ключ REG_SZ со значением .

КОМУ ЛЕНЬ самому создавать, то можете скачать данный ключ реестра у меня. Просто запустите потом и подтвердите, что согласны добавить. Затем откройте командную строку от имени администратора и выполните команду:

У вас откроется mmc оснастка «Службы компонентов», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты. В результате этих манипуляций компонент Microsoft Excel Application у вас должен появиться. Открываем свойства Microsoft Excel Application.

Переходим на вкладку «Безопасность (Secutity)». В пункте «Разрешения на запуск и активацию (Launch and Activation Permissions)», выберите «Настроить (Customize )» и изменить. Вам нужно добавить сюда учетную запись, от имени которой запускается служба 1С и предоставить ей права:

  • Локальный запуск — Local Launch
  • Локальная активация — Local Activation

Далее переходим к пункту «Разрешения на доступ (Access Permissions)» и так же меняем их. Добавьте там ту же учетную запись, от имени которой запускается сервис 1С, и дайте ей права «Локальный доступ (Local Access)». Сохраните настройки.

Закрываем окно служб компонентов, теперь для того, чтобы закончит ьнастройку DCOM для 1С и Microsoft Excel Application, вам необходимо дать права на две папки.

Вам нужно убедиться, что у вас есть две папки:

Строка формул и расширенный редактор

Под этими терминами предполагаются инструменты, предназначенные для создания пользовательских функций и скриптов на языке M.  Строка формул располагается в верхней части и используется для создания формул и преобразования данных. Ее можно использовать для формирования новых столбцов на основе существующих данных, изменения типа столбца, фильтрации строк. Язык M, на котором написаны формулы Power Query, является функциональным языком программирования и может использоваться для создания сложных запросов и скриптов.

Расширенный редактор позволяет создавать более сложные скрипты и пользовательские функции на языке M. Он предоставляет больше функций и возможностей, чем строка формул. Доступен расширенный редактор для создания пользовательских опций.

Для использования строки формул и расширенного редактора необходимо выбрать вкладку «Редактор запросов» и «Расширенный редактор» или «Режим формул». После этого можно создавать формулы и скрипты на языке M для преобразования.

Основы работы с Excel в Delphi.

7 апреля, 2010
Vlad

Видимо любители экономить килобайты оперативной памяти могут меня закидать помидорами или ещё чем по-хуже, но все-таки я скажу, что интеграция приложений (мегабайты оперативы) — это большой плюс нынешней разработки приложений.
Как ни крути, а время DOS и килобайтов оперативной памяти прошло. Врядли кто-то всерьез сейчас задумывается над тем куда это с винчестера пропал мегабайт? Да и использование в своих приложениях функциональности программ, которых ты не писал, но которые выполняют что-то лучше — это всё-таки больший прогресс, нежели корпеть год-два над программой, а потом узнать, что время-то прошло.

Самоучитель по Excel VBA

​ один запуск цикла)​ на величину шага);​ сочетания клавиш «Ctrl+hh»).​ иконку рядом с​ обусловлены тем, что​И последнее, напишите​ по​ начал слышать такую​MsgBox: MsgBox – это​ столбцам. Расположите данные​Текстовые функции: Excel предлагает​ Печать сетки и​ Вы запускаете Excel,​ Excel на простых​ путем записи, как​ Например, «Օтчет».​

​ ним относятся Array,​End Sub.​Loop​В результате происходит действие,​ иконкой Excel;​ код программы VBA​ свофй адресс, вышлю​программированию в Excel​ связку «программирование в​ диалоговое окно в​ по убыванию или​ огромное количество функций​ заголовков строк/столбцов, Область​ автоматически создаётся пустая​ примерах​ показано в самом​Для написания программы автоматического​ IsArray; LBound; UBound.​Если все сделано правильно,​End Sub.​ которое было осуществлено​выбирают команду Mudule;​ обращается к функциональным​ большой (14,9 МБ)​ VBA для начинающих,​ экселе», вот и​

  • ​ VBA, при помощи​
  • ​ по возрастанию.Примеры: Сортировка​ для самых различных​
  • ​ печати.​
  • ​ рабочая книга.​. Здесь Вы найдёте​
  • ​ начале статьи, или​
  • ​ заполнения шаблона, необходимо​
  • ​Функции VBA Excel для​ в том числе​
  • ​В результате запуска данного​ в процессе записи​
  • ​сохраняют, нажав на иконку​ возможностям, которые присутствуют​
  • ​ видеоурок по созданию​
  • ​некоторые у меня​

​ хотелось узнать, является​ которого можно показывать​ по цвету, Обратный​ операций с текстовыми​

​Обмен данными и общий​Примеры: Сохраняем в формате​​ ответы на самые​​ через написание кода​

​ выбрать обозначения. Они​

office-guru.ru>

Система

EpikTimer — Таймер повышенной точности для программистов, который способен измерять очень короткие события с высокой точностью в течение длительных периодов времени. Он прост в использовании, практически не потребляет ресурсов процессора, требует всего 25 байт оперативной памяти для реализации экземпляра таймера.

Manager Worker Threads System — Менеджер потоков, который поможет в создании многопоточных приложений для мультипроцессорных систем под Linux или Windows.

UniqueInstance — Компонент, предотвращающий одновременный запуск нескольких копий вашего приложения.

MouseAndKeyInput — Кроссплатформенный компонент для работы с клавиатурой и мышкой.

Copy HTML to the clipboard

You can copy HTML to the clipboard which is understood by many applications. This way you can copy formatted text. For those applications that only understand text put plain text too.

Microsoft Office applications require HTML to be pasted onto the clipboard in a more complex format than described here. See here for an example that works with Microsoft Office.

uses
  ClipBrd;
...
  // register the mime type for text/html. You can do this once at program start:
  ClipbrdFmtHTML:=RegisterClipboardFormat('text/html');
...
  // Clear any previous formats off the clipboard before starting
  Clipboard.Clear;

  // put text and html on the clipboard. Other applications will choose the best format automatically.
  ThePlainUTF8Text:='Simple text';
  Clipboard.AsText:=ThePlainUTF8Text; 

  AsHTML:='<b>Formatted</b> text'; // text with formattings
  Clipboard.AddFormat(ClipbrdFmtHTML,AsHTML1,length(AsHTML));

Импорт данных из Excel 2003 (файл xls) в Microsoft SQL Server x86

Шаг 1 – Проверяем наличие провайдера Microsoft.Jet.OLEDB.4.0 на SQL Server

Первое, с чего нам нужно начать, это проверить, зарегистрирован ли провайдер Microsoft.Jet.OLEDB.4.0 на SQL Server, так как в данном случае необходимо использовать именно этот провайдер. Это можно сделать с помощью следующей SQL инструкции

   
   EXEC sp_enum_oledb_providers;

В результирующем наборе данных должна присутствовать строка с Microsoft.Jet.OLEDB.4.0. Если такого провайдера нет, то скорей всего в системе нет установленного Excel 2003 и, соответственно, его нужно установить.

Особенностью распределённых запросов и работы со связанным серверами Excel в x86 версиях SQL Server является то, что независимо от имени какой учетной записи посылается SQL запрос к Excel, эта учетная запись должна иметь права на запись во временный каталог той учетной записи, под которой работает сама служба SQL Server.Так как поставщик OLE DB создает временный файл во время запроса во временном каталоге SQL Server, используя учетные данные пользователя, выполняющего запрос.

Таким образом, если служба SQL Server работает от имени или локальной, или сетевой службы, необходимо дать соответствующие права на временный каталог этих служб всем пользователям, которые будут посылать распределенные запросы и обращаться к связанному серверу Excel (если сервер работает от имени пользователя, который посылает SQL запросы, то такие права давать не требуется, они у него уже есть).

Это можно сделать с помощью встроенной утилиты командной строки icacls.

Например, для локальной службы команда будет выглядеть следующим образом.

   
   icacls C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp /grant UserName:(R,W)

Для сетевой службы

   
   icacls C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp /grant UserName:(R,W)

Вместо UserName укажите имя пользователя, который посылает запрос.

Шаг 3 – Включаем распределенные запросы на SQL Server

По умолчанию возможность использования распределённых запросов, в частности функций OPENDATASOURCE и OPENROWSET, в Microsoft SQL Server запрещена, поэтому данную возможность нужно сначала включить.

Она включается с помощью системной хранимой процедуры sp_configure, которая отвечает за системные параметры сервера. Нам необходимо параметру Ad Hoc Distributed Queries присвоить значение 1, для этого выполняем следующую SQL инструкцию.

   
   sp_configure 'show advanced options', 1;
   RECONFIGURE;
   GO
   sp_configure 'Ad Hoc Distributed Queries', 1;
   RECONFIGURE;
   GO

Шаг 4 – Выполняем SQL запрос, обращение к файлу Excel

Ниже я приведу несколько вариантов обращения к файлу Excel (TestExcel.xls).

OPENROWSET

   
   SELECT * FROM OPENROWSET 
   ( 
    'Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0; Database=D:\TestExcel.xls', 
    'SELECT * FROM ' 
   );

OPENDATASOURCE

   
   SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 
                                'Data Source=D:\TestExcel.xls; 
                                 Extended Properties=Excel 8.0')...;

Linked Server

   
   --Создание связанного сервера 
   EXEC sp_addlinkedserver @server = 'TEST_EXCEL', 
                           @srvproduct = 'Excel', 
                           @provider = 'Microsoft.Jet.OLEDB.4.0', 
                           @datasrc = 'D:\TestExcel.xls', 
                           @provstr = 'Excel 8.0;IMEX=1;HDR=YES;';   
   
   --Настройки безопасности (авторизации) 
   EXEC dbo.sp_addlinkedsrvlogin @rmtsrvname='TEST_EXCEL', 
                                 @useself= 'False', 
                                 @locallogin=NULL, 
                                 @rmtuser=NULL, 
                                 @rmtpassword=NULL;   
   
   --Обращение к связанному серверу 
   SELECT * FROM OPENQUERY (TEST_EXCEL, 'SELECT * FROM '); 
   --или 
   SELECT * FROM TEST_EXCEL...;

Инструкция по загрузке из Excel в 1C для программиста

Нужно загрузить большой объем данных из Экселя в 1С? Настроить постоянную загрузку накладных и товаров? Обратитесь к нам! Оставьте заявку в форме выше или позвоните нам по телефону +7 499 350 29 00.

Несомненно, одним из самых распространенных способов массового занесения информации в информационную систему является загрузка информации в 1С 8.3 из Excel. Ниже я рассмотрю пошаговое создание обработки загрузки данных и дам ссылку на скачивание её.

Данная инструкция написана для программистов, для пользователей 1С скорее подойдут следующие статьи:

  • Загрузка данных штатными методами в 1С — Загрузка из Excel на примере прайс-листа.
  • Если вам необходимо загрузить номенклатуру в 1С — пример загрузки товаров в 1С 8.3.

Самые популярные данные, которые требуются для загрузки в 1С из Excel:

  • номенклатура и её штрих-коды, в том числе с картинками;
  • накладные от поставщика;
  • прайс-листы от контрагентов;
  • начальные остатки по складам или бухгалтерскому учету.

MS Excel — программа для работы с электронными таблицами, созданная компанией Microsoft. Она предоставляет возможности экономико-статистических расчетов, графические инструменты и язык макропрограммирования VBA. Excel является одним из наиболее популярных приложений в мире.

Обработку мы будем делать универсальную, подобно той, что мы делали для загрузки файлов csv в 1С.

Преимущества использования Lazarus для работы с Excel: удобство и гибкость

В современном мире, где огромные объемы данных требуют быстрой и эффективной обработки, использование Lazarus для работы с Excel становится неотъемлемой частью работы многих профессионалов и организаций. Этот инструмент предоставляет ряд преимуществ, которые делают его удобным и гибким инструментом для обработки данных.

Одним из главных преимуществ использования Lazarus для работы с Excel является его простота в использовании. Знание популярного и легкого в освоении Delphi Pascal позволяет быстро освоить Lazarus и начать работать с данными в Excel. Благодаря простому и интуитивному интерфейсу, пользователи могут быстро настроить и адаптировать работу с данными под свои потребности.

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

Кроме того, Lazarus предоставляет возможность автоматизации работы с данными в Excel. С помощью встроенных функций и инструментов можно создавать макросы и скрипты, которые автоматически выполняют определенные действия в Excel. Это значительно сокращает время, затрачиваемое на обработку данных и позволяет избежать многократного ввода одних и тех же операций.

Таким образом, использование Lazarus для работы с Excel является эффективным и удобным способом обработки данных. Его простота в использовании и гибкость делают его незаменимым инструментом для профессионалов, работающих с большими объемами данных. Благодаря возможности автоматизации, Lazarus позволяет значительно сэкономить время и ресурсы при обработке данных в Excel.

Как запустить Excel?

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

function RunExcel(DisableAlertsboolean=true; Visible boolean=false) boolean;
begin
  try
{проверяем установлен ли Excel}
    if CheckExcelInstall then
      begin
        MyExcel=CreateOleObject(ExcelApp);
//показывать/не показывать системные сообщения Excel (лучше не показывать)
        MyExcel.Application.EnableEvents=DisableAlerts;
        MyExcel.Visible=Visible;
        Result=true;
      end
    else
      begin
        MessageBox(,'Приложение MS Excel не установлено на этом компьютере','Ошибка',MB_OK+MB_ICONERROR);
        Result=false;
      end;
  except
    Result=false;
  end;
end;

Здесь мы в начале проверяем, установлен ли Excel в принципе и, если он все же установлен, запускам. При этом мы можем сразу показать окно Excel пользователю — для этого необходимо выставить параметр Visible в значение True.

Также рекомендую всегда отключать системные сообщения Excel, иначе, когда программа начнет говорить голосом Excel — пользователь может занервничать.

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

Если у вас iOS

Для iOS существует достаточно мало хороших офисных программ.

До недавних пор наиболее популярной была официальная Microsoft Excel, но последнее время всё больше пользователей переходит на более универсальные онлайновые сервисы и клиентские приложения от Google.

Если вам всё это по каким-то причинам не подходит, есть еще одна программа, на которую стоит обратить внимание – это MobiSystems OfficeSuite Pro. Помимо просмотра документов, у пользователей также есть возможность воспользоваться удобным встроенным проводником для поиска файлов в памяти телефона и загружать дополнительные бесплатные словари, инструменты и электронные книги

Помимо просмотра документов, у пользователей также есть возможность воспользоваться удобным встроенным проводником для поиска файлов в памяти телефона и загружать дополнительные бесплатные словари, инструменты и электронные книги.

Рис. 11 – главное окно утилиты MobiSystems OfficeSuite Pro на iOS

Компоненты для работы с графикой

Graphics32 — Графическая библиотека для Delphi и Lazarus. Оптимизирована для 32-битных форматов пикселей, обеспечивает быстрые операции с пикселями и графическими примитивами. В большинстве случаев Graphics32 значительно превосходит стандартные методы TBitmap / TCanvas.

Castle Game Engine — Графический движок для создания 3D игр. Интеграция с проектами Lazarus>>

GLScene — это 3D-библиотека на основе OpenGL. Изначально он был написан для Delphi, теперь он работает в C ++ Builder, Kylix, Delphi и Lazarus. Библиотека позволяет работать со сценами 3D графики прямо в IDE Lazarus.

LazRGBGraphics — это пакет времени выполнения для быстрой обработки изображений в памяти и манипуляций с пикселями. Основным преимуществом является прямой доступ к памяти пикселей растрового изображения с сохранением возможности рисования растрового изображения на холсте без трудоемкого преобразования формата памяти. Основной класс — TRGB32Bitmap, аналог TBitmap.

Понравилась статья? Поделиться с друзьями:
Technology trends
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: