Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2012, 13:29   #1
Пепс
 
Регистрация: 18.10.2011
Сообщений: 5
По умолчанию Из DBGrid в Excel: проблема формата

Добрый день! использую Embrcadero RAD Studio XE2
имеется вот такая функция экспорт ячеек из DBGrid в Эксель
Код:
int f4_ExcelSend(int Sheet, int Stolb, int Stroka, String Str, bool asText){//>>>
Variant ExcelSheet,Cur;//Запись данных в Excel (Лист, столбец, строка, "данные",как_текст?)
UnicodeString ErrStr;
asText = true;
if(Str=="")return 1;//Не писать "пустоту"
ErrStr=L"Ошибка при записи: лист "+IntToStr(Sheet)+", столбец "+IntToStr(Stolb)+", строка "+IntToStr(Stroka);
try{ExcelSheet=XLSAPP.OlePropertyGet("WorkSheets",Sheet);}
catch (...){Application->MessageBox(ErrStr.c_str(),
		   L"Ошибочный номер листа Microsoft Excel",MB_OK+MB_ICONERROR); return -1;}
XLSAPP.OlePropertyGet("Range", "A1:K1000").OlePropertySet("WrapText", true);
XLSAPP.OlePropertyGet("Range", "A1:K1000").OlePropertySet("ColumnWidth", 20);
try{Cur=ExcelSheet.OlePropertyGet("Cells",Stroka,Stolb);
   if(asText)Cur.OlePropertySet("NumberFormat","@");//Форматировать ячейку как текст
   
   Str = "as5911058646фы";
   Cur.OlePropertySet("Value",Str.w_str());
   }
catch (...){Application->MessageBox(ErrStr.w_str(),
		   L"Ошибка Microsoft Excel",MB_OK+MB_ICONERROR); return -1;}
return 1;
}
Если запустить код в таком виде, то в ячейках Экселя выходит значение as59110
Если же в конце код заменить на
Код:
//Str = "as5911058646фы";
   Cur.OlePropertySet("Value","as5911058646фы");
то в ячейках Экселя отображается as5911058646фы

можете подсказать, почему в первом случае в Экселе отображается лишь часть передаваемой строки?
Пепс вне форума Ответить с цитированием
Старый 14.11.2012, 14:14   #2
Пепс
 
Регистрация: 18.10.2011
Сообщений: 5
По умолчанию

проблема решилась.
Код:
Cur.OlePropertySet("Value",WideString(Str));
Пепс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автопересохранение книг с формата Excel 95 в формат Excel 2003 Toffifee Microsoft Office Excel 9 13.03.2020 15:33
проблема с изменением формата даты при копировании из CSV формата в эксель mars56 Microsoft Office Excel 4 16.03.2010 09:50
Помогите найти маску формата числа в Excel Vladymyr17 Microsoft Office Excel 1 28.09.2009 20:18
из формата txt в формат excel dalton Помощь студентам 1 20.03.2009 15:01
из dbf-формата занести данные в Excel Luganchanochka Microsoft Office Excel 2 05.04.2008 21:40