Въпрос # 4 669 ... съпругата на stringgrid, бутон, който при щракване експортира данни от stringgrid към
Общност от програмисти Комуникация, помощ, обмяна на опит
Delphi.int.ru експерт
Други раздели на портала
Преминете към въпроса:
Статистика за днес:
Топ Експерти
Въпрос #4 669
Здравейте експерти! Кажете ми, моля, имам stringgrid на моя формуляр, бутон, при натискане на който данните от stringgrid се експортират в excel. Как да направя така, че когато цъкнеш бутон, да можеш да избираш къде да запишеш екселския файл? Разбирам, че трябва да използвам компонента SaveDialog, но не знам как.
- единица Unit5;
- интерфейс
- използва
- Windows, Съобщения, SysUtils, Варианти, );
- Sheet:= Workbook.ActiveSheet;
- Gauge1.MaxValue:=100;
- Gauge1.Progress:=0;
- за i:= 0 до StringGr >0 тогава
- Gauge1.Progress:=Round(((i+1)*100)/StringGr;
- Stringgr>
Отговор №1. Експерт отговаря:Игор Шичко
Здравей Слай! Предлагам ви малко по-различно решение. Поставете следните компоненти във формуляра:DriveComboBox1 иDirectoryListBox1 от страницата Win 3.1. . DriveComboBox1: TDriveComboBox; DirectoryListBox1: TDirectoryListBox; . В свойството DriveComboBox1DirList изберетеDirectoryListBox1.
Тогава можете да работите почти като диригент. Избраният път за запазване на файла ще бъде както следва:
. dir_:= DirectoryListBox1.Directory; . Workbook.SaveAs(dir_ + '\temp_' + IntToStr(DayOfTheMonth(Date)) + '.' + IntToStr(MonthOfTheYear(Date)) + '.' + IntToStr(YearOf(Date)) + '.xls'); .
Файлът ще бъде записан в избраната директория. Въпроси - пишете. Успех.
Отговор №2. Експертни отговори:min@y™
Е, какви са проблемите? Поставете диалогов прозорец за запазване във формуляра. Можете да го извикате и да разберете какво име на файла е избрал потребителят, като това: SaveDialog.Filter:= 'MSExcel файлове (*.xls)*.xls'; SaveDialog.DefaultExt:= 'xls'; SaveDialog.Options:= SaveDialog.Options + [ofOverwritePrompt]; if SaveDialog.Execute() then begin // Тук е кодът на процедурата BitBtn1Click // името на избрания файл в SaveDialog е SaveDialog.FileName. край;
Въпрос мини-форум
Благодаря работи. Но все пак би било желателно да опитате и чрез SaveDialog.
Опитай. Поставете компонента SaveDialog1 във формуляра. Приложение:
процедура TForm5.BitBtn1Click(Подател: TObject); . ако SaveDialog1.Execute тогава започнете . Workbook.SaveAs(SaveDialog1.FileName); . край; Натискането на бутона отваря прозорец за въвеждане на името на записания файл. Достъп до него в програмата:SaveDialog1.FileName