Entwickler-Ecke

Basistechnologien - C# Exel-Datei auswählen und mit Exel öffnen


stray - Fr 10.10.08 14:47
Titel: C# Exel-Datei auswählen und mit Exel öffnen
Hallo,

habe ein Porblem.
Ich hab ein kleines Programm geschrieben.
Nun möchte ich gerne das der User über ein Button "Tabelle aktualisieren" die Möglichkeit hat eine xls Datei auszusuchen und diese sich dann öffnet bzw. Exel startet und diese Datei läd.

Also sprich, der User geht auf den Button, sucht seine gewünschte Exel-Datei aus klickt auf öffnen/ok und Exel öffnet sich mit der entsprechenden Datei.

Wie ist der Code für C# ?
Muss es doch geben. ^^

Ich brauch den Code für eine Windows-Anwendung, keine Konsolenanwendung (;

Hoffe ihr könnt mir helfen (=


Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Fr 10.10.2008 um 17:29


Flitzs - Fr 10.10.08 15:14

Hey,

user profile iconstray hat folgendes geschrieben Zum zitierten Posting springen:

der User geht auf den Button, sucht seine gewünschte Exel-Datei aus klickt auf öffnen/ok und Exel öffnet sich mit der entsprechenden Datei.


Um die Datei zu suchen kannst du den System.Windows.Forms.OpenFileDialog verwenden und um die Datei per Excel zu öffnen ruftst du die Datei so auf:

C#-Quelltext
1:
System.Diagnostics.Process.Start("Pfad")                    


mfg Flitzs


JüTho - Fr 10.10.08 15:46

Über NET gibt es erheblich bessere Möglichkeiten, Excel einzubinden, als über Process.Start. In der SDK-Doku/MSDN gibt es folgende Hinweise:
Zitat:
Microsoft Excel-Technologiebeispiel
In diesem Beispiel wird die Verwendung von Microsoft Excel, der Kalkulationstabellenkomponente von Microsoft Office, aus einer verwalteten Anwendung veranschaulicht. Die programmgesteuerten Funktionen von Microsoft Excel werden durch die .NET-Programmierunterstützung verfügbar gemacht. Excel wird in diesem Beispiel als COM-Server verwendet, um die Möglichkeiten für die Interaktion zwischen verwaltetem Code und Microsoft Office System zu verdeutlichen.
(verwalteter Code = NET Assembly)

Zitat:
Excel über ADO.NET
Microsoft Access, Microsoft Excel oder Microsoft Word können bei minimalen oder nicht vorhandenen Sicherheitsanforderungen als Datenspeicher für eine ADO.NET-Anwendung fungieren.
Mit dem Oledb-Provider kann auf Excel-Tabellen zugegriffen werden.


Ich habe freilich keine Erfahrungen dabei; aber ich weiß, dass es geht. Jürgen


Flitzs - Fr 10.10.08 17:04

Hey,

ich dachte er wollte eine ausgewählte Excel Datei öffnen und nicht Excel in sein Programm einbinden.

mfg Flitzs


stray - Mo 13.10.08 09:01

Ja ich möchte einfach eine Exel Datei mit einem open.file.dialog auswählen, dann auf OK drücken und das dann Exel startet mit dieser xls-Datei.


Delete - Mo 13.10.08 15:12

Hi,

dann mach das doch so wie es Flitzs gesagt hat.

Hab mal kurz was geschrieben mit dem du das machen kannst was du möchtest.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WinForm_Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string Pfad;
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                Pfad = ofd.FileName;
                System.Diagnostics.Process.Start(Pfad);
            }
        }
    }
}


Greetz


stray - Di 14.10.08 08:02

Vielen Dank für eure Hilfe ! (=
Hat mir weitergeholfen, Danke auch an hauke1981 (=

MfG


Delete - Di 14.10.08 11:01

Hast du dein Problem gelöst?