Nel mio progetto ho avuto l'obbligo di leggere i dati del foglio excel e di convalidare lo stesso. Quindi salvarlo nel database. Funziona bene, in questo modello di Excel row 1
è l'intestazione ei dati inizieranno da row 2
.Iniziare a leggere i dati da una riga specifica di excel utilizzando Linq in C#
ad esempio: -
Name Age Arabic Name Category
Jack 30 بيب A
var mem = from memRec in excelFile.Worksheet("Addition Form")select memRec;
allora posso avere i dettagli utilizzando memRec["Age"],memRec["Name"] etc.
Questo sta lavorando bene.
Ora il client ha un modello diverso in cui le prime 3-4 righe vengono unite con i rispettivi loghi e tutto. L'intestazione sarà row 4
ei dati inizieranno da row 5
.
es:
row1
row2
row3
row4 Name Age Arabic Name Category
row5 Jack 30 بسيب A
Ho leggere questo
var mem = from memRec in excelFile.Worksheet("Addition Form")select memRec;
non è leggendo e dando errore perché l'intestazione è a partire dalla fila 4 soltanto cercato qui sotto code.
Non conosco l'intervallo di dati anche perché dipende dall'utente che riempie i dati .
Quindi non riesco a specificare il foglio di lavoro.
C'è un modo per specificare la riga iniziale per leggere l'Excel tramite Linq. Inoltre, una volta che è fatto possiamo specificare la fila come
memRec["Age"],memRec["Name"] etc.?
cura
ho usato sottostante Codice
mem = from memRec in excelFile.Worksheet("Addition Form").Skip(2) select memRec;
ma quando ho provato a chiamare memRec["Age"]
sta dando errore dicendo no such column and columns available are Logo1,namecomp.
. .etc .. questo è il contenuto della prima riga del foglio excel
il mio foglio excel è così ora
row1 Logo1 namecomp place situation
row2 Name Age ArabicName Category
row3 John 30 يبي A
Non voglio row1 come intestazioni di colonna. Le intestazioni di colonna sono nella riga 2 e i dati iniziano da row3.
Ora, quando provo a leggere memrec ["Nome"], si sta dando errore dicendo che nessuna intestazione di colonna. intestazioni delle colonne disponibili sono Logo1, namecomp ecc ..
Ti prego, aiutami a risolvere questo problema ..
Non esattamente sicuro dei dettagli di implementazione, ma potrei saltare i primi 4 risultati e impostare i nomi delle colonne da soli. – ameer
@ameer come impostare i nomi delle colonne da solo? se salto il primo risultato 3 la 4a riga è il nome della colonna..non posso usarlo? – Sachu
A Linq sembra che tutte le colonne siano uguali. Se non riesci a trovare una soluzione a questo, non aver paura di uscire da quel codice e utilizzare il ** loop di base ** per attraversare i tuoi dati. – jp2code