2017-05-11 1 views
3

Ich habe diese Anwendung, die ich gebaut habe. Es funktioniert gut und alles, aber die einzige Sache, die Probleme hat, ist, meine exportierte CSV-Datei auf dem Desktop eines Benutzers zu speichern. Um es genauer auszudrücken: Ich würde normalerweise den Pfad festschreiben, in den die Datei exportiert werden soll, aber im Falle einer Bereitstellung wäre dies nicht machbar, da dies bedeuten würde, den Pfad jedes Mal für den Computer eines Benutzers zu ändern. Wie kann ich den exportierten Pfad standardmäßig für alle Benutzer auf dem Desktop speichern? Unten ist mein CodeExportieren von CSV-Datei auf Benutzer-Desktop für die Bereitstellung

private void button6_Click_2(object sender, EventArgs e) 
    { 

     if (string.IsNullOrEmpty(comboBox5.Text)) 
     { 
      MessageBox.Show("Cannot export unless table name is specified!"); 
     } 
     else 
     { 
      int count_row = dataGridView1.RowCount; 
      int count_cell = dataGridView1.Rows[0].Cells.Count; 


      string path = "C:\\Users\\Jevon\\Desktop\\" + comboBox5.Text + ".csv"; 
      string rxHeader = "Code" + "," + "Description" + "," + "NDC" + "," + "Supplier Code" 
      + "," + "Supplier Description" + "," + "Pack Size" + "," + "UOM" + Environment.NewLine; 


      MessageBox.Show("Please wait while " + comboBox5.Text + " table is being exported.."); 

      for (int row_index = 0; row_index <= count_row - 2; row_index++) 
      { 

       for (int cell_index = 1; cell_index <= count_cell - 1; cell_index++) 
       { 
        textBox8.Text = textBox8.Text + dataGridView1.Rows[row_index].Cells[cell_index].Value.ToString() + ","; 

       } 
       textBox8.Text = textBox8.Text + "\r\n"; 

       if (!File.Exists(path)) 
       { 
        System.IO.File.WriteAllText(path, rxHeader); 
        System.IO.File.AppendAllText(path, textBox8.Text); 
       } 
       else 
       { 
        System.IO.File.AppendAllText(path, textBox8.Text); 
        textBox8.Clear(); 
       } 

      } 
      MessageBox.Show("Export of " + comboBox5.Text + " table is complete!"); 
     } 
    } 

Wie Sie dies ist der Weg zu sehen:

string path = "C:\\Users\\Jevon\\Desktop\\" + comboBox5.Text + ".csv"; 

Wie kann ich es ändern, so dass es die Standard-Exportstandort für jeden Computer sein kann, ist die Anwendung bereitgestellt auf?

Antwort

3
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), string.format("{0}.csv", comboBox5.Text)); 
+0

Vielen Dank. Ich werde das versuchen und sehen, ob es funktioniert –

Verwandte Themen