Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Rätt skriven kod?

Postades av 2009-05-27 09:37:14 - Anders Persson, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 1090 personer

Hej
Håller på med lite hantering av Excelfiler via C#
Jag har skriven en kod för att hämta alla Blad som finns i en Excelfil.
Koden fungerar utmärkt. Men jag undrar om Klassen är "rätt" skriven, eller hade ni gjort på ett annat sätt. Vet att alla använder sin egna programmerings "stil", men det är alltid intressant att diskuttera detta.

Jag har inte lagt in något try block så det behöver ni inte anmärka.

class Sheets
{
private string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<source>;Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=1\"";

private void convertConnString(string connString)
{
this.connString = this.connString.Replace("<source>", connString);
}

public String[] GetExcelSheetNames(string sourcefile)
{
convertConnString(sourcefile); //Konverterar anslutningsträng
OleDbConnection objConn = null;
DataTable dt = null;

objConn = new OleDbConnection(connString);
objConn.Open();
dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

if (dt == null)
{
return null;
}

String[] excelSheets = new String[dt.Rows.Count];
int i = 0;

foreach (DataRow row in dt.Rows)
{
excelSheets[i] = row["TABLE_NAME"].ToString();
i++;
}
return excelSheets;
}


MVH
Anders


Svara

Sv: Rätt skriven kod?

Postades av 2009-05-27 13:13:15 - Andreas Thorarins


jag hade använt list<string> i stället för en string[] och properties istället för en metod för connectionsträngen. sen skulle jag antagligen inte returnera null heller bättre med en tom lista

nått i stil med


public class Sheets
{
private const string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<source>;Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=1\"";
private string ConnString;

private string ConnectionString
{
get { return connectionString.Replace("<source>", ConnString); }
}

public List<String> GetExcelSheetNames(string sourceFile)
{
ConnString = sourceFile;

OleDbConnection objConn = new OleDbConnection(ConnectionString);
objConn.Open();
DataTable dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

List<String> excelSheets = new List<string>();;
if (dt != null)
foreach (DataRow row in dt.Rows)
excelSheets.Add(row["TABLE_NAME"].ToString());

return excelSheets;
}
}


Svara

Sv: Rätt skriven kod?

Postades av 2009-05-27 16:21:43 - Martin Adrian

Både OleDbConnection och DataTable implementerar IDisposable så du måste anropa Dispose på dem i ett finally block (eller använda using).


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 635
27 958
271 741
559
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies