您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> 如何获取EXCEL中工作表的名称?

如何获取EXCEL中工作表的名称?

来源:网络整理     时间:2016/8/16 7:55:50     关键词:

关于网友提出的“ 如何获取EXCEL中工作表的名称?”问题疑问,本网通过在网上对“ 如何获取EXCEL中工作表的名称?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 如何获取EXCEL中工作表的名称?
描述:

我用ADOConnect.gettablenames()获取了EXCEL工作簿中的工作表名,但是有一些问题。
例:
假设EXCEL工作簿的名字是AA.XLS,其中有两个工作表分别为a1,a2,这两张表是从其他二个工作簿中导入的。当我用GETTABLENAME()方法获取到的名字有a1$_,a1$数据库,a1$,a2$,为什么为多出一些表名?
我用ACCESS试着导入该表,在导入向导中,
如果选择“显示工作表”,则显示的工作表名只有二个a1,a2
如果选择“显示命名区域”,则会报错,并且显示出了a1$_,a1$数据库,xxxx$
(其中上面a2的名字在原先那个表中为xxx,在此时则显示为原来的名字了)
不知道这是怎么回事?
请问大侠们,有没有方法可以解决该问题?或有没有其他方法获取EXCEL工作簿中的所有工作表名?
谢谢!


解决方案1:

JAVA EXCEL API 应用示例:
http://blog.csdn.net/qddabao/archive/2004/08/11/71829.aspx

解决方案2:

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
uses comobj;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  Excel_Handle: OleVariant;
begin
  try
    Excel_Handle := GetActiveOleObject('Excel.Application');
  except
    try
      Excel_Handle := CreateOleObject('Excel.Application');
    except
      Exit;
    end;
  end;
  //showmessage(inttostr(Excel_Handle.Sheets.Count));
  for i := 1 to Excel_Handle.Sheets.Count do
    showmessage(Excel_Handle.Sheets[i].Name);
end;
end.


以上介绍了“ 如何获取EXCEL中工作表的名称?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3322002.html

相关图片

相关文章