[ mizob @ 07.04.2004. 19:14 ] @
Imam podatke u exlcel fajlu(ocene i nazive predmeta),e sad mi treba kako da uzmem te podatke da ih ubacim u neke nizove.
[ ZokiR @ 08.04.2004. 01:04 ] @
Pogledaj http://support.microsoft.com/default.aspx?kbid=302084

http://www.google.com/search?q=C%23+Excel+automation
[ mmix @ 08.04.2004. 15:14 ] @
Možeš i preko ODBC-a, napravi ODBC konekciju koristeći "Microsoft Excel Driver (.xls)" i onda je otvori kao i bilo koju drugu odbc konekciju preko OleDbConnection objekta. Ovo sve pod uslovom da su podaci na sheetu u formi data tabele, bez šminke i ostalih gluposti. Radi dosta brže od automation pristupa. Naravno, ako je sheet šminkan, moraš da ideš preko rešenja koje ti je ZokiR dao.
[ mizob @ 09.04.2004. 12:31 ] @
E zanimljivo,cuop sam vec negde ODBC samo ako bih mogao da mi objasnis malo,moze se reci da sam veoma kratak sa znanjem iz programiranja,a zelim da ucim,mislio sam da napravim program za izracunavanje proseka,u xls fajlu u A koloni je naziv predmeta dok su u b,c,d... kolonama ocene,svaka kolona jedna ocena,valda razumes.

Pa ako mozes malo sa ODBC da mi pomognes.
[ mizob @ 09.04.2004. 13:20 ] @
Napravio sam dugme kada se klikne treba da uzme podatke iz fajla
kod ide ovako


private void button1_Click(object sender, System.EventArgs e)

{
Excel.Application objExcel = new Excel.ApplicationClass();
objExcel.Visible = true;
Excel.Workbook objBook = objExcel.Workbooks._Open(@"C:\ocene.xls",Ocene.Form1,no,"xls","","","","","","","","");

}

vidi se neka glupost,e sad da li sam pogresio u otvaranju fajla sa _Open ili kako da ga otvorim i sta treba gde da upisem?
Da napomenem da fajl nije readonly,da nije zasticen sifrom i da se nalazi na c:\.
[ mmix @ 10.04.2004. 12:42 ] @
Connection string ti je oblika:

Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=OceneX;DBQ=C:\ocene.xls;DefaultDir=C:\;DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;PageTimeout=5;"

a to kako da iskoristiš connection string da dođeš do podataka, pogledaj TOP temu "ADO.NET & Data Set: mini - uputstvo" u ovom forumu.


[ ZokiR @ 10.04.2004. 14:27 ] @
Ako si odabrao automaciju, vrednostima pristupaš preko Worksheet.Cells niza i Range objekta, ovako:

Code:

OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel Spreadsheet (*.xls)|*.xls";

if (DialogResult.OK == openFileDialog.ShowDialog())
{
    Excel.Application excel = new Excel.ApplicationClass();
    Excel.Workbook workbook = excel.Workbooks.Open(openFileDialog.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    Excel.Worksheet worksheet = (Excel.Worksheet)workbook.ActiveSheet;

    int rowIndex = 1;
    while (true)
    {
        Excel.Range subjectRange = (Excel.Range)worksheet.Cells[rowIndex, 1];
        if (subjectRange.Value2 == null)
        {
            break;
        }
        string subjectName = (string)subjectRage.Value2;

        // Ovde dodaj kod za čuvanje imena predmeta...
        // ...

        int columnIndex = 2;
        while (true)
        {
            Excel.Range gradeRange = (Excel.Range)worksheet.Cells[rowIndex, columnIndex];
            if (gradeRange.Value2 == null)
            {
                break;
            }
            double grade = (double)gradeRange.Value2;
            
            // Ovde dodaj kod za čuvanje ocene...
            // ...
            
            columnIndex ++;
        }
        rowIndex ++;
    }            

    workbook.Close(false, Type.Missing, Type.Missing);
    excel.Quit();
}
[ mizob @ 10.04.2004. 17:32 ] @
Uspesno kompajliram,i kada kliknem dugme za ucitavanje i izaberem fajl izbaci da ne valja biblioteka,tj "Old format or invalid type library." i da je greska u ovom redu koda:
Excel.Workbook workbook = excel.Workbooks.Open(openFileDialog.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
[ ZokiR @ 11.04.2004. 10:55 ] @
Verovatno je u pitanju problem opisan na

http://support.microsoft.com/default.aspx?scid=kb;EN-US;320369