从oracle数据库中导出大量数据到excel中为啥自动分成了好几个excel文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从oracle数据库中导出大量数据到excel中为啥自动分成了好几个excel文件相关的知识,希望对你有一定的参考价值。

因为你的数据太大,导致一个excel无法存储完。Excel 07-2003一个工作表最多可有65536行;excel 2007及以后版本,一个工作表最多可有1048576行;可以尝试到处csv格式的文件 参考技术A 这是Excel的原因,对于.xls格式的文件,是有行数限制的,每一个
Sheet页最大允许65536行数据,对于.xlsx个的文件,则限制为
2的20次方,1048576行。
参考技术B Excel 中一个Sheet页最多能放6万多行。多了就处理不了了。所以Oracle自动分成好几个Excel文件。

Delphi中导出数据到excel

我的库中有一文本型的字段为22位数字的条码,为什么导入到excel中变成了:1.23456789E+21,如何让它显示全部的22位数呢,代码如下:
var
Form1: TForm1;

implementation

$R *.dfm

procedure TForm1.FormCreate(Sender: TObject);
begin
adoquery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+extractfilepath(application.exename)+'Person.mdb'+';Persist Security Info=False';
adoquery1.Open;
end;

procedure TForm1.Button1Click(Sender: TObject); //导出
var
itemp,jtemp:integer;
begin
ExcelApplication1.Connect;
ExcelApplication1.Visible[0]:=true;
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
ExcelWorksheet1.ConnectTo(ExcelApplication1.Worksheets[1] as _Worksheet);
//ExcelWorksheet1.Columns.Font.Size:=20;
//ExcelWorksheet1.Columns.Font.Color:=xlwdred;
jtemp:=1;
with AdoQuery1 do
begin
first;
while not eof do
begin
for itemp:=1 to fieldCount do
begin
ExcelWorksheet1.Cells.Item[jtemp,itemp]:=fields[itemp-1].AsString;
end;
inc(jtemp);
next;
end;
end;
end;

if itemp =条形码列 then
ExcelWorksheet1.Cells.Item[jtemp,itemp]:=''''+fields[itemp-1].AsString;
参考技术A 生成文本数据,你生成的数值,是科学计数

以上是关于从oracle数据库中导出大量数据到excel中为啥自动分成了好几个excel文件的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 中导出excel的方法

Delphi中导出数据到excel

NPOI从数据库中导出数据到Excel

尝试使用laravel在excel中导出大数据时显示超时

从数据库中导出excel报表

oracle中导出sql的几个常见词语的意思