Stringgird의 data를 Excel로 변환할 때
문자열 지정을 하지 않으면 전체가 숫자로 인식되고,
(예: 사원번호 '00104'가 숫자 104로 인식)
문자열 지정을 하면 전체가 문자열로 인식되어 Excel에서
data를 활용할 수가 없습니다.
(예: 아래처럼 할 경우 2,3번 Columns은 문자열로 인식 됨)
아시는분의 도움을 기다립니다.
Excel := CreateOleObject('Excel.Application') ;
Excel.WorkBooks.add;
Excel.WorkSheets[1].name := 'test';
ColumnRange := Excel.Workbooks[1].WorkSheets['test'].Columns ;
ColumnRange.Columns[1].Style.NumberFormatLocal := '@' ; //문자 인식
// 1번Column만 문자인식 필요
for cnt_1 := 1 to cnt_2
begin
Excel.Cells[cnt_1, 1].Value := 문자 DATA;
Excel.Cells[cnt_1, 2].Value := 숫자 DATA;
Excel.Cells[cnt_1, 3].Value := 숫자 DATA;
end;
Excel.Columns.AutoFit ;
Excel.Visible := true ;
Excel.DisplayAlerts := false ;
ProgressBar1.Position := 0;
>
> Stringgird의 data를 Excel로 변환할 때
> 문자열 지정을 하지 않으면 전체가 숫자로 인식되고,
> (예: 사원번호 '00104'가 숫자 104로 인식)
> 문자열 지정을 하면 전체가 문자열로 인식되어 Excel에서
> data를 활용할 수가 없습니다.
> (예: 아래처럼 할 경우 2,3번 Columns은 문자열로 인식 됨)
> 아시는분의 도움을 기다립니다.
>
> Excel := CreateOleObject('Excel.Application') ;
> Excel.WorkBooks.add;
> Excel.WorkSheets[1].name := 'test';
> ColumnRange := Excel.Workbooks[1].WorkSheets['test'].Columns ;
> ColumnRange.Columns[1].Style.NumberFormatLocal := '@' ; //문자 인식
> // 1번Column만 문자인식 필요
> for cnt_1 := 1 to cnt_2
> begin
> Excel.Cells[cnt_1, 1].Value := 문자 DATA;
> Excel.Cells[cnt_1, 2].Value := 숫자 DATA;
> Excel.Cells[cnt_1, 3].Value := 숫자 DATA;
> end;
>
> Excel.Columns.AutoFit ;
> Excel.Visible := true ;
> Excel.DisplayAlerts := false ;
> ProgressBar1.Position := 0;
전송이 끝난뒤에 부분적으로 타입을 다시지정하면 어떨까요?
for cnt_1 := 1 to cnt_2
begin
Excel.Cells[cnt_1, 1].Value := 문자 DATA;
Excel.Cells[cnt_1, 2].Value := 숫자 DATA;
Excel.Cells[cnt_1, 3].Value := 숫자 DATA;
end;
EXCEL.columns['B:C'].select;
EXCEL.selection.NumberFormatLocal := '0_ ';
Excel.Columns.AutoFit ;
Excel.Visible := true ;
Excel.DisplayAlerts := false ;
ProgressBar1.Position := 0;