13 novembre 2006

Recuperare i fogli contenuti in un file Excel tramite OleDB

Utilizzando OleDB è possibile ricavare dati da una fonte dati Excel.

E’, inoltre possibile, ricavare preventivamente i fogli contenuti all’interno del file stesso.

I fogli sono, a tutti gli effetti, delle tabelle e, quindi è possibile utilizzare il metodo GetOleDbSchemaTable() della classe OleDbConnection il quale fornisce una tabella al cui interno troviamo un record per ogni foglio presente nel file excel.

Il seguente pezzo di codice recupera, appunto, la tabella precedente:

 

Dim conn As OleDbConnection = New OleDbConnection

conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\prova.xls;Extended Properties=Excel 8.0;"

conn.Open()

If conn.State = ConnectionState.Open Then

   Dim schemaTables As DataTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})

End If

 

Ogni record della tabella risultato ha i seguenti campi:

 

TABLE_CATALOG : nel caso di un file excel assume il valore DBNULL;

TABLE_SCHEMA : nel caso di un file excel assume il valore DBNULL;

TABLE_NAME : nome del foglio seguito dal carattere $;

TABLE_TYPE : : nel caso di un file excel assume il valore “TABLE”;

DESCRIPTION : nel caso di un file excel assume il valore DBNULL;

TABLE_PROPID : nel caso di un file excel assume il valore DBNULL;

DATE_CREATED : data di creazione del foglio

DATE_MODIFIED : data dell’ultima modifica del foglio

Nessun commento: