已经成功的完成了将Excel的数据导入到了StringGrid。
是一张学生信息表的内容,将学生信息存在Excel中,导入到StringGrid。
其中有一项属性是学生学号,是“00*****”的七形式。在Excel中只显示“*****”后面的五位,前面的两个0不会显示。然后我在Excel的单元格属性中设置自定义为“0000000”,然后Excel的显示就没有问题了,但是导入StringGrid后,在StringGrid的显示依旧是“*****”后面的五位,前面的两个0依旧被省去了。我的问题就是:如何设置才能将StringGrid的显示是“00*****”完整的七位?谢谢各位了!
是一张学生信息表的内容,将学生信息存在Excel中,导入到StringGrid。
其中有一项属性是学生学号,是“00*****”的七形式。在Excel中只显示“*****”后面的五位,前面的两个0不会显示。然后我在Excel的单元格属性中设置自定义为“0000000”,然后Excel的显示就没有问题了,但是导入StringGrid后,在StringGrid的显示依旧是“*****”后面的五位,前面的两个0依旧被省去了。我的问题就是:如何设置才能将StringGrid的显示是“00*****”完整的七位?谢谢各位了!
同意
前面补位.呵呵
var
str:string;
begin
str:=tmp; //tmp为EXCEL该列传来的值
str:=tmp.StringOfChar('0',7-str.Length())+str; //A
end;
===================================在你得到EXCEL该列值的时候,你要写入STRINGGRID中时,加上A句就行了.
是再导入数据之前
for i:=1 to StringGrid1.ColCount do
begin
for j:=1 to StringGrid1.RowCount do
begin
ExcelWorksheet1.Cells.Item[i,j].NumberFormatLocal:='@';
StringGrid1.Cells[i,j]:=ExcelWorksheet1.Cells.Item[j,i];
end
end;是这样么?
但是问题是,这样一来每次导入都要去手动设置Excel的单元格格式,比较麻烦。
能在Delphi的程序中用程序设置么?希望能给个代码...不胜感激。