Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   Excel (http://www.tehnari.ru/f22/t11249/)

Aleksandr_06 10.05.2008 23:02

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

ww01031977 12.05.2008 16:37

Просто.
Открываешь файл.
дописываешь данные.
закриваешь файл.

bubuka 12.05.2008 16:42

имеяться ввиду програмнно а не в ручную

если чесно у меня в работе с екселем всегда возникали проблемы ( пробовал в Си и Делфи) с записью в файл
вообщем для себя решал так - открывал файл читал из него
работал с данными ( даже если надо было довать одну ячейку)
удалял - создавал новый файл
сохранял
вообщем перезаписывать корректно у меня не получалось

если с VBA - там наверняка все проще и таких проблем не будет

Призрак 12.05.2008 20:58

то что я использую для работы с экселем под седьмыми делфями:



//вырезано

uses
... ComCtrls, ExtCtrls, OleServer, ComObj;

//вырезано

const
lcid = LOCALE_USER_DEFAULT;

//вырезано

var
XL :Variant;


//вырезано

XL:= CreateOleObject('Excel.Application');

//создаем новую книгу

XL.WorkBooks.Add;

//открываем книгу

XL.Workbooks.Open('c:\test.xls', // Filename: WideString;
2, // UpdateLinks: OleVariant; 2 - never update
False, // ReadOnly: OleVariant;
EmptyParam, // Format: OleVariant;
EmptyParam, // Password: OleVariant;
EmptyParam, // WriteResPassword: OleVariant;
EmptyParam, // IgnoreReadOnlyRecommended: OleVariant;
EmptyParam, // Origin: OleVariant;
EmptyParam, // Delimiter: OleVariant;
EmptyParam, // Editable: OleVariant;
EmptyParam, // Notify: OleVariant;
EmptyParam, // Converter: OleVariant;
False, // AddToMru: OleVariant;
lcid);

//копируем из второй книги первую страницу в первую книгу, вставляя ее первой страницей

XL.WorkBooks[2].WorkSheets[1].Copy(XL.Workbooks[1].Sheets[1], EmptyParam);

//удаляем в первой книге вторую страницу

XL.WorkBooks[1].WorkSheets[2].Delete;

//закрываем вторую книгу

XL.WorkBooks[2].Close(0);

//записываем в ячейку текст. можно цифры. конвертируется само.

XL.WorkBooks[1].WorkSheets[1].Cells[2,1]:='Это тест';

//сохраняем документ (если уже существует, то эксель будет ругаться. если найдешь как запретить спрашивать про перезапись - скажи)

XL.WorkBooks[1].SaveAs('C:\test2.xls',
56, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, lcid);

//показать сформированный документ

XL.Visible:= true;

//отключаемся от офиса

XL:= UnAssigned;

Sanches1985 06.12.2009 18:17

Оферта новая проблема
 
После загрузки компа
Минут через 10-15 всплыло окошко с рекламой секс-шопа.
Якобы я заполнил договор оферты и должна 999 раз просмотреть рекламу их полезного;-) товара:-)
Либо отправить смс стоимостью 200 рублей.

Как избавиться от вируса?
Картинка стоит в центре,с места не сдвигается.Примерно через час исчезает сама.
Также исчезает после выключения,либо перезагрузки.Но!Минут через 15 появляется снова:-(
Даже в безопасном(!) режиме:-(
как избавиться от этой напасти... не хочу винду переуст у меня диск сломалсья он не перкеуст как можно оботися без переустновки

01pump 06.12.2009 18:19

Madara,
Выполнить это http://pchelpforum.ru/f26/t6442/#post37758 и прислать архив virusinfo_syscure.zip

Sanches1985 06.12.2009 18:48

я выловил этот процесс он назваеться CMedia.dll
как его удлаить то теперь

антивирус его не видит

01pump 06.12.2009 19:00

Цитата:

Сообщение от Madara (Сообщение 127181)
я выловил этот процесс он назваеться CMedia.dll
как его удлаить то теперь

антивирус его не видит

Вы мое предыдущее сообщение не видите? :confused:


Часовой пояс GMT +4, время: 19:38.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.