View Full Version : [C#] Importare file excel e rielaborarli.
Ciao forumiani,
sono un ingegnere e fino ad ora ho sviluppato i miei algoritmi in ANSI C (...lo so, sono un primitivo :huh: ) o, quando dovevo fare alla svelta, in MATLAB. Ora mi ritrovo a dover produrre un programma che come input legga file Excel. Ho deciso allora di buttarmi a pesce su C# in ambiente .NET ma... di questo linguaggio non so una banana...!
Mi date una mano? E' il linguaggio più indicato per questo genere di cose il C#? Riuscireste a spedirmi un paio di righe di codice che mi facciano leggere il file Excel e che mi consentano di trattare opportunamente i dati? Sapete a quali librerie mi devo riferire? Essenzialmente i file trattati sono delle grosse matrici a numero di righe variabili...
Vi prego, qualsiasi aiuto mi sarà utile... :help: Linkatemi anche, se volete, qualche howto...
Grazie a quanti mi risponderanno...
Avevo provato qualcosina in passato... è abbastanza semplice...
Attualmente tra l'altro la MS ha rilasciato i Visual Studio Tools for the Microsoft Office System... ma non penso sia quello che ti interessa... o meglio vanno benissimo, ma costano 500 $ oppure 200 $ se upgradi da VS.NET 2003...
Per qualcosa di più tranquillo si può fare comunque.
Tutto si basa sul DOM di Excel basta impararselo un po' e ti diverti.
Se vuoi documentazione aggiuntiva (che può essere utile per capire il DOM) nell'installazione di office installa anche "guida per vba" o qualcosa del genere. Lì trovi come è il DOM non gestito di Excel... le classi C# wrappano quasi 1 a 1 le classi non gestite quindi non dovresti avere problemi...
Il file installato va a finire nella dir:
\Microsoft Office\Office10\1040
e ha nome vba**xl.chm (dove le ** sono per la versione di office che hai... tra l'altro lì trovi altri file vba****.chm per word, outolook e compagnia)
Ma veniamo al dunque:
Qua ci sono un po' di risorse:
http://search.microsoft.com/search/results.aspx?View=msdn&st=a&qu=office+automation&c=0&s=1
Altra cosa bisogna scaricarsi i wrapper C# che incapsulano le dll non gestite.
http://www.microsoft.com/downloads/results.aspx?ductID=&freetext=.NET+Office&DisplayLang=en
[Devi scaricare: Office XP Primary Interop Assemblies (PIAs) - chiaramente in ogni pc che vuoi fare girare l'applicazione devi installare oltre al framework anche questo filettino...]
[Understanding the Excel Object Model from a .NET Developer's Perspective]
http://www.microsoft.com/downloads/details.aspx?FamilyID=8b2a7288-bd98-401d-b309-2e587d98cd67&DisplayLang=en
Qua c'è una piccolissima prova di ciò che avevo fatto:
// Declare the variables
using System;
using Microsoft.Office.Interop.Excel;
public class Prova{
public static void Main(){
Application exc;
Workbooks wbs;
Workbook book=null;
// Create the Excel application object.
Console.ReadLine();
exc = new Application();
// Make Excel visible.
exc.Visible = true;
wbs=exc.Workbooks;
// Create a new work book.
try
{
book=wbs.Open("C:\\Lavoro.xls",1,1,1,1,1,1,1,1,1,1,1,1,1,1);
}
catch(Exception e){
Console.WriteLine(e.Message);
}
// Place some text in the first cell of the sheet.
Console.WriteLine(book);
book.Worksheets.PrintPreview(0);
/* Close Excel with the Quit method on the Application object.*/
Console.ReadLine();
wbs.Close();
exc.Quit();
}
}
Ciao soalle,
grazie mille per le dritte...:ave:
Per il momento sono ancora poco esperto ma appena ne sarò in grado metterò in pratica i tuoi consigli...
Se dovessi avere casini... mi sentirai presto!;) ;) ;)
ciao
Di niente... in C# sono abbastanza ferrato... in office automation un po' meno... ;)
[B]ho sviluppato i miei algoritmi in ANSI C (...lo so, sono un primitivo :huh: ) o, quando dovevo fare alla svelta, in MATLAB. Ora mi ritrovo a dover produrre un programma che come input legga file Excel
perchè non continui ad usare Matlab leggendo i file Excel con comandi tipo XLSREAD?
Originariamente inviato da auction
perchè non continui ad usare Matlab leggendo i file Excel con comandi tipo XLSREAD?
...l'ho usato spesso e fino a quando ho potuto... dovevo però trattare una gran mole di dati e quindi....
magari potre i controlli active x di excel, gestibili da matlab
Se fai uan ricerca nell help di Matlab dovresti capire che potenzialità hanno
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.