suchen
HeimBackend-EntwicklungC#.Net-TutorialAusführliche Erklärung zum Erstellen von Access-Dateien und Excel-Dateien mithilfe der C#.net-Programmierung

Das Beispiel in diesem Artikel beschreibt, wie Sie Access-Dateien und Excel-Dateien mithilfe der C#.net-Programmierung erstellen. Geben Sie es als Referenz an alle weiter. Die Einzelheiten lauten wie folgt:

Einige Systeme müssen möglicherweise Daten in Access- oder Excel-Dateiformate exportieren, um die Datenübertragung, das Drucken usw. zu erleichtern.

Die beiden Dateien, die exportiert werden müssen, Excel-Dateien oder Access, sind möglicherweise nicht im Voraus vorhanden. Dies erfordert, dass wir sie selbst programmieren und generieren. Hier sind einige Methoden zum Generieren dieser beiden Dateien, und zwar nur die meisten häufig verwendete sind aufgeführt. Nicht alle.

1. Generieren Sie zunächst die Excel-Datei.

Option 1. Wenn Sie Excel zum Speichern nur zweidimensionaler Daten verwenden, verwenden Sie es als Datenbank.

Im einfachsten Fall müssen Sie keine zusätzlichen Komponenten referenzieren, sondern müssen lediglich OLEDB verwenden, um die Excel-Datei zu erstellen. Der Beispielcode lautet wie folgt.

using System.Data.OleDb;
public static void CreateExcelFile2()
{
  string OLEDBConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://aa2.xls;";  
  OLEDBConnStr +=  " Extended Properties=Excel 8.0;";
  string strCreateTableSQL = @" CREATE TABLE ";
  strCreateTableSQL += @" 测试表 ";
  strCreateTableSQL += @" ( ";
  strCreateTableSQL += @" ID INTEGER, ";
  strCreateTableSQL += @" UserID INTEGER, ";
  strCreateTableSQL += @" UserIP VARCHAR , ";
  strCreateTableSQL += @" PostTime DATETIME , ";
  strCreateTableSQL += @" FromParm VARCHAR ";
  strCreateTableSQL += @" ) ";
  OleDbConnection oConn = new OleDbConnection(); 
  oConn.ConnectionString = OLEDBConnStr; 
  OleDbCommand oCreateComm = new OleDbCommand();
  oCreateComm.Connection = oConn;
  oCreateComm.CommandText = strCreateTableSQL;
  oConn.Open(); 
  oCreateComm.ExecuteNonQuery();
  oConn.Close();
}
using System.Data.OleDb;
public static void CreateExcelFile2()
{
  string OLEDBConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://aa2.xls;";  
  OLEDBConnStr +=  " Extended Properties=Excel 8.0;";
  string strCreateTableSQL = @" CREATE TABLE ";
  strCreateTableSQL += @" 测试表 ";
  strCreateTableSQL += @" ( ";
  strCreateTableSQL += @" ID INTEGER, ";
  strCreateTableSQL += @" UserID INTEGER, ";
  strCreateTableSQL += @" UserIP VARCHAR , ";
  strCreateTableSQL += @" PostTime DATETIME , ";
  strCreateTableSQL += @" FromParm VARCHAR ";
  strCreateTableSQL += @" ) ";
  OleDbConnection oConn = new OleDbConnection(); 
  oConn.ConnectionString = OLEDBConnStr; 
  OleDbCommand oCreateComm = new OleDbCommand();
  oCreateComm.Connection = oConn;
  oCreateComm.CommandText = strCreateTableSQL;
  oConn.Open(); 
  oCreateComm.ExecuteNonQuery();
  oConn.Close();
}

Wenn Sie beim Erstellen einer Tabelle feststellen, dass die Excel-Datei nicht vorhanden ist, erstellt das System automatisch die Excel-Datei. Menschen, die noch nie damit in Berührung gekommen sind, wissen das vielleicht nicht.

Die Hinzufügungs- und Änderungsvorgänge unterscheiden sich nicht von gewöhnlichen Datenbanken und werden nicht beschrieben.

Option 2: Generieren Sie direkt eine Nur-Text-Datei, die Leerzeichen verwendet, um die einzelnen Datenelemente zu trennen, aber das Suffix der Datei ist XLS.

Hinweis: Wenn Sie derzeit Excel direkt zum Öffnen einer solchen Datei verwenden, ist das kein Problem, alles ist normal, aber wenn Sie ADO.net zum Lesen dieser Datei verwenden, sollte Ihre Link-Engine nicht Excel sein. Sondern eine Textdatei (Microsoft Text Driver). Das heißt, die Verbindungszeichenfolge sollte nicht

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://aa2.xls;Extended Properties=Excel 8.0;"

sein, sondern wie folgt lauten:

OLEDB-Weg Verbindungszeichenfolge:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C://11.txt;Extended Properties='text;HDR=No;FMT=TabDelimited'

ODBC-Weg Lesemethode zum Schreiben von TXT-Strings:

Driver={Microsoft Text Driver (*.txt; *.csv)};
Dbq=C://11.txt;
Extensions=asc,csv,tab,txt;

Option 3. Die Excel-Datei, die Sie erstellen möchten, verfügt über einige Excel-eigene Funktionen, die erstellt werden müssen. Sie müssen daher Com verwenden, d. h. die Microsoft Excel-Objektbibliothek

Bitte fügen Sie einen Verweis auf die Objektbibliothek von Microsoft Excel 11.0 hinzu. Die Version dieser Komponentenbibliothek ist je nach der von Ihnen installierten Office-Version unterschiedlich.

Beispielcode:

public static void CreateExcelFile()
{
  string FileName = "c://aa.xls";
  Missing miss = Missing.Value;
  Excel.Application m_objExcel = new Excel.Application();
  m_objExcel.Visible = false;
  Excel.Workbooks m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
  Excel.Workbook m_objBook = (Excel.Workbook)(m_objBooks.Add(miss));
  m_objBook.SaveAs(FileName, miss, miss, miss, miss, 
miss, Excel.XlSaveAsAccessMode.xlNoChange, miss, 
miss,miss, miss, miss);
  m_objBook.Close(false, miss, miss);
  m_objExcel.Quit();
}

Ich habe hier einfach eine Excel-Datei erstellt, und es gibt keine Manipulation mehr von Excel. Wenn Sie mehr erfahren möchten, können Sie sich auf die entsprechenden Artikel beziehen diese Seite.

2. Access-Datenbank generieren

Access ist schließlich eine Datenbank, daher kann die erste oben genannte Methode in Excel nicht angewendet werden.
Sie können ADOX verwenden, um Access-Datenbankdateien zu erstellen.
Der Unterschied zwischen ADOX und OleDB: ADOX ist die Daten-API, die lediglich eine Schnittstelle ist, die den Datenanbieter aufruft.

Beispielcode:

Bitte fügen Sie vor der Verwendung einen Verweis auf Microsoft ADO Ext 2.x für DDL und Sicherheit hinzu. Abhängig von Ihrem Betriebssystem kann die Version hier unterschiedlich sein.

using ADOX;
using System.IO;
public static void CreateAccessFile(string FileName)
{
  if(!File.Exists(FileName))
  {
  ADOX.CatalogClass cat = new ADOX.CatalogClass();
  cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName +";");
  cat = null;
  }
}

Der obige Code generiert nur die Access-Datenbank. Mit ADOX können Sie auch die Datenbank betreiben, Tabellen hinzufügen usw.

using System;
using ADOX;
namespace WebPortal
{
 /// <summary>
 /// CreateAccessDB 的摘要说明。
 /// 对于不同版本的ADO,需要添加不同的引用
 /// 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security
 /// 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security
 /// </summary>
 public class CreateAccessDB : System.Web.UI.Page
 {
  private void Page_Load(object sender, System.EventArgs e)
  {
   //为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
   string dbName = "D://NewMDB"+DateTime.Now.Millisecond.ToString()+".mdb";
   ADOX.CatalogClass cat = new ADOX.CatalogClass();
   cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName +";");
   Response.Write("数据库:" + dbName + "已经创建成功!");
   ADOX.TableClass tbl = new ADOX.TableClass();
   tbl.ParentCatalog = cat;
   tbl.Name="MyTable";
   //增加一个自动增长的字段
   ADOX.ColumnClass col = new ADOX.ColumnClass();
   col.ParentCatalog = cat;
   col.Type=ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
   col.Name = "id";
   col.Properties["Jet OLEDB:Allow Zero Length"].Value= false;
   col.Properties["AutoIncrement"].Value= true;
   tbl.Columns.Append (col,ADOX.DataTypeEnum.adInteger,0);
   //增加一个文本字段
   ADOX.ColumnClass col2 = new ADOX.ColumnClass();
   col2.ParentCatalog = cat;
   col2.Name = "Description";
   col2.Properties["Jet OLEDB:Allow Zero Length"].Value= false;
   tbl.Columns.Append (col2,ADOX.DataTypeEnum.adVarChar,25);
   //设置主键
   tbl.Keys.Append("PrimaryKey",ADOX.KeyTypeEnum.adKeyPrimary,"id","","");
   cat.Tables.Append (tbl);
   Response.Write("<br>数据库表:" + tbl.Name + "已经创建成功!");
   tbl=null;
   cat = null;
  }
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  { 
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
 }
}

Ich hoffe, dass dieser Artikel für alle in der C#-Programmierung hilfreich sein wird.

Ausführlichere Erklärungen zum Erstellen von Access-Dateien und Excel-Dateien mithilfe der C#.net-Programmierung finden Sie auf der chinesischen PHP-Website für verwandte Artikel!


Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Mastering C# .NET -Designmuster: Von Singleton zur AbhängigkeitsinjektionMastering C# .NET -Designmuster: Von Singleton zur AbhängigkeitsinjektionMay 09, 2025 am 12:15 AM

Entwurfsmuster in C#.NET umfassen Singleton -Muster und Abhängigkeitsinjektion. 1.Singleton -Modus stellt sicher, dass nur eine Instanz der Klasse vorhanden ist, die für Szenarien geeignet ist, in denen globale Zugriffspunkte erforderlich sind. Es sollte jedoch Aufmerksamkeit auf die Sicherheit von Threads und Missbrauch geschenkt werden. 2. Die Abhängigkeitsinjektion verbessert die Code -Flexibilität und -Testabilität durch Injektion von Abhängigkeiten. Es wird häufig für die Konstruktorinjektion verwendet, es ist jedoch erforderlich, übermäßigen Gebrauch zu vermeiden, um die Komplexität zu erhöhen.

C# .NET in der modernen Welt: Anwendungen und BranchenC# .NET in der modernen Welt: Anwendungen und BranchenMay 08, 2025 am 12:08 AM

C#.NET wird in der modernen Welt in den Bereichen Spieleentwicklung, Finanzdienstleistungen, Internet der Dinge und Cloud Computing häufig eingesetzt. 1) Verwenden Sie in der Spielentwicklung C#, um über die Unity Engine zu programmieren. 2) Im Bereich Finanzdienstleistungen wird C#.NET verwendet, um Hochleistungshandelssysteme und Datenanalyse-Tools zu entwickeln. 3) In Bezug auf IoT und Cloud Computing unterstützt C#.NET Unterstützung durch Azure -Dienste zur Entwicklung der Gerätesteuerungslogik und der Datenverarbeitung.

C# .NET Framework vs. .net Core/5/6: Was ist der Unterschied?C# .NET Framework vs. .net Core/5/6: Was ist der Unterschied?May 07, 2025 am 12:06 AM

.NETFRAMEWORKISWINDOWS-zentriert, while.Netcore/5/6SupportScross-Plattformdevelopment.1) .NETFRAMEWORK, SEber2002, ISIdeAlforwindowsApplicationsButlimitedIncross-PlatformCaps.2) .NETCORE, VORTEMANCE, MITTEILAGE und SITSEVOLUTUTIONS (.NETSVOLUTTATURE (.NETSVOLDS (.NETSVOLUTTIONS (.NETSVOLUTTION) (.NETSVOLUTTIONS (.NOLUTTUMS (.

Die Community von C# .NET -Entwicklern: Ressourcen und UnterstützungDie Community von C# .NET -Entwicklern: Ressourcen und UnterstützungMay 06, 2025 am 12:11 AM

Die C#.NET Developer Community bietet umfangreiche Ressourcen und Unterstützung, einschließlich: 1. Microsoft offizielle Dokumente, 2. Community -Foren wie Stackoverflow und Reddit sowie 3. Open -Source -Projekte auf GitHub. Diese Ressourcen helfen Entwicklern, ihre Programmierkenntnisse vom grundlegenden Lernen bis hin zu erweiterten Anwendungen zu verbessern.

Der C# .NET -Vorteil: Funktionen, Vorteile und AnwendungsfälleDer C# .NET -Vorteil: Funktionen, Vorteile und AnwendungsfälleMay 05, 2025 am 12:01 AM

Die Vorteile von C#.NET umfassen: 1) Sprachmerkmale wie asynchrone Programmierungen vereinfachen die Entwicklung; 2) Leistung und Zuverlässigkeit, Verbesserung der Effizienz durch JIT -Kompilierung und Mülleimermechanismen; 3) cross-plattform-Unterstützung, .Netcore erweitert die Anwendungsszenarien; 4) Eine breite Palette praktischer Anwendungen mit hervorragender Leistung vom Web bis zum Desktop und der Spieleentwicklung.

Ist C# immer mit .NET verbunden? Alternativen erforschenIst C# immer mit .NET verbunden? Alternativen erforschenMay 04, 2025 am 12:06 AM

C# ist nicht immer an .NET gebunden. 1) C# kann in der Mono -Laufzeitumgebung ausgeführt werden und eignet sich für Linux und MacOS. 2) In der Unity Game Engine wird C# für das Skript verwendet und stützt sich nicht auf das .NET -Framework. 3) C# kann auch für die Entwicklung eingebetteter Systementwicklung verwendet werden, wie z. B. .NetMicroframework.

Das .NET -Ökosystem: C #s Rolle und darüber hinausDas .NET -Ökosystem: C #s Rolle und darüber hinausMay 03, 2025 am 12:04 AM

C# spielt eine zentrale Rolle im .NET -Ökosystem und ist die bevorzugte Sprache für Entwickler. 1) C# bietet effiziente und benutzerfreundliche Programmiermethoden und kombiniert die Vorteile von C, C und Java. 2) Führen Sie durch .NET Runtime (CLR) durch, um einen effizienten plattformübergreifenden Betrieb zu gewährleisten. 3) C# unterstützt grundlegende bis fortgeschrittene Nutzung wie Linq und asynchrone Programmierung. 4) Optimierung und Best Practices umfassen die Verwendung von StringBuilder und asynchrones Programmieren zur Verbesserung der Leistung und Wartbarkeit.

C# als .NET -Sprache: Die Grundlage des ÖkosystemsC# als .NET -Sprache: Die Grundlage des ÖkosystemsMay 02, 2025 am 12:01 AM

C# ist eine Programmiersprache, die von Microsoft im Jahr 2000 veröffentlicht wurde, um die Kraft von C und die Einfachheit von Java zu kombinieren. 1.C# ist eine typsichere, objektorientierte Programmiersprache, die Kapselung, Vererbung und Polymorphismus unterstützt. 2. Der Kompilierungsprozess von C# wandelt den Code in eine intermediäre Sprache (IL) um und kompiliert ihn dann in die Ausführung von Maschinencode in der .NET -Laufzeitumgebung (CLR). 3. Die grundlegende Verwendung von C# umfasst variable Erklärungen, Kontrollflüsse und Funktionsdefinitionen, während erweiterte Verwendungen asynchrone Programmierungen, Linq und Delegierte abdecken usw.. Die gemeinsamen Fehler umfassen Typenfehler und Null -Referenzausnahmen, die durch Debugger, Ausnahmehandling und Protokollung debuggen werden können. 5. Vorschläge zur Leistungsoptimierung umfassen die Verwendung von LINQ, asynchrone Programmierung und Verbesserung der Code -Lesbarkeit.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools