![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте, помогите пжл решить задачу. Есть база акцесс, в ней таблица "Dog" в ней 3 поля "Num_Dog", "Date_Start", "Sum". Эта информация вытягивается (SQL) в грид "Main_Grid". Задача, как вытянутую информацию из грида экспортировать в шаблон эксель "Temp_Dog" ("Num_Dog" в Лист1 А1, "Date_Start" в Лист1 В1, "Date_Start" в Лист1 С1) потом печать листа1, и по циклу так все строки из грида. Помогите пжл.
|
#2
|
|||
|
|||
![]() Вообще-то для таких простых операций (если надо просто все вытянуть) в Экселе есть специальная функция, позволяющая ему связываться с БД и брать оттуда данные.
Если же хочется чего-то странного (читай нестандартного, например вытащить только строчки, выбранные пользователем, или налету что-то подправить), то смотри как работать с Экселем через OLE. Примеров, в том числе и тут, полно. ЗЫ. Еще есть библиотека XlsReadWriterII, но она специфическая (и еще платная) и печатать из нее нельзя (в смысле, напрямую нельзя, через нее). |
#3
|
|||
|
|||
![]() Я понимаю, что для знатаков это более чем элементарно, но для меня, новичка, это числам сложно, иначе сделал бы без вопросов. Если кто может потратить чуть времени, помогите пжл.
|
#4
|
||||
|
||||
![]() Цитата:
Такие ссылки тебе должны помочь: Excel ЧаВо часть I: Excel.Application Excel ЧаВо часть II: Worksbooks и Worksheets Excel ЧаВо часть III: Cells, Range, Rows и Columns Excel ЧаВо часть IV: Chart, Shape, Picture Excel ЧаВо часть V: Внешние источники данных Если что-то конкретное не получается - спрашивай. |
#5
|
|||
|
|||
![]() Здравствуйте. Ниже приведен код на экспорт в созданный "вручную шаблон" Эксель. Все работает, но не знаю как pflfnm формат ячеек вновь создаваемых строк по подобию уже имеющихся. Например есть в "шаблоне" шестая строка которая имеет определенный формат, как сделать так, чтобы вставляемая строка имела формат предыдущей строчки. т.е. от WSheet.Cells.Item[6+i,1] до i.
Код:
procedure Tf_Reestr.SpeedButton2Click(Sender: TObject); const lcid = LOCALE_USER_DEFAULT; var WBook:_WorkBook; WSheet:_Worksheet; i: integer; begin ExcelApplication1.Connect; WBook := ExcelApplication1.Workbooks.Add(ExtractFilePath(Application.ExeName) + '\templ_reestr.xlsx',LCID); ExcelApplication1.Visible[0] := True; WSheet := WBook.Worksheets[1] as ExcelWorksheet; i := 1; Q_Reestr_List.First; while not Q_Reestr_List.Eof do begin WSheet.Cells.Item[6+i,1].Value := inttostr(i); WSheet.Cells.Item[6+i,3].Value := Q_Reestr_List.FieldByName('Polis').Value; inc(i); Q_Reestr_List.Next; end; end; |
#6
|
||||
|
||||
![]() Вот тебе еще ссылочка на тему работы с MS Word и MS Excel.
По поводу твоего кода: Код:
ExcelApplication1.Visible[0] := True; Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#7
|
|||
|
|||
![]() Спасибо за ссылку. Конкретного ответа не нашел, но нашел уйму нужного. Задачу решил вставкой
Код:
WSheet.Cells.Item[6+i,3].HorizontalAlignment := xlCenter |
#8
|
|||
|
|||
![]() Так и не пойму что нужно написать чтобы отключиться от экселя (после вывода в эксель). После закрытия программы эксель закрывается с вопросом о сохранении. Нужно чтобы после закрытия проги эксель жил сам по себе.
|
#9
|
||||
|
||||
![]() Цитата:
А так же после формирования отчёта не забывай отключаться от Excel'я: Код:
ExcelApplication1.Disconnect; |
#10
|
|||
|
|||
![]() Спасибо. Ранее писал
Код:
ExcelApplication1.Disconnect; |
#11
|
|||
|
|||
![]() Помогите пжл выставить ширину столбца, пересмотрел много примеров, ноне один не смог перенести на свой код.
Код:
ExcelApplication1.Connect; WBook := ExcelApplication1.Workbooks.Add(EmptyParam, lcid); WSheet := WBook.Worksheets[1] as ExcelWorksheet; WSheet.Columns[1].ColumnWidth := 6; WSheet.Cells.Item[6,1].Value := '№'; WSheet.Cells.Item[6,1].HorizontalAlignment := xlCenter; WSheet.Cells.Item[6,1].Borders.LineStyle := xlContinuous; WSheet.Cells.Item[6,1].Interior.ColorIndex:= 34; |
#12
|
||||
|
||||
![]() Цитата:
Код:
WSheet.Cells.Item[6,1].ColumnWidth := 6; |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
DOR (18.10.2012)
|
#13
|
|||
|
|||
![]() Спасибо. Помогло.
|