.xls-Format Office2003 und höher
.xlsx-Format Office2007 und höher
.csv-Format Komma-getrennter Zeichenfolgentext (die beiden oben genannten Dateitypen können in diesem Format gespeichert werden)
Lesen Es gibt zwei verschiedene Methoden zum Nehmen der ersten beiden Formate und zum Lesen des letzteren Formats.
Sehen Sie sich das Programm unten an:
Seiten-Frontend:
<div> <%-- 文件上传控件 用于将要读取的文件上传 并通过此控件获取文件的信息--%> <asp:FileUpload ID="fileSelect" runat="server" /> <%-- 点击此按钮执行读取方法--%> <asp:Button ID="btnRead" runat="server" Text="ReadStart" /> </div>
Backend-Code:
//声明变量(属性) string currFilePath = string.Empty; //待读取文件的全路径 string currFileExtension = string.Empty; //文件的扩展名 //Page_Load事件 注册按钮单击事件 protected void Page_Load(object sender,EventArgs e) { this.btnRead.Click += new EventHandler(btnRead_Click); } //按钮单击事件 //里面的3个方法将在下面给出 protected void btnRead_Click(object sender,EventArgs e) { Upload(); //上传文件方法 if(this.currFileExtension ==".xlsx" || this.currFileExtension ==".xls") { DataTable dt = ReadExcelToTable(currFilePath); //读取Excel文件(.xls和.xlsx格式) } else if(this.currFileExtension == ".csv") { DataTable dt = ReadExcelWidthStream(currFilePath); //读取.csv格式文件 } }
Nachfolgend sind die 3 Methoden im Button-Click-Ereignis aufgeführt
///<summary> ///上传文件到临时目录中 ///</ummary> private void Upload() { HttpPostedFile file = this.fileSelect.PostedFile; string fileName = file.FileName; string tempPath = System.IO.Path.GetTempPath(); //获取系统临时文件路径 fileName = System.IO.Path.GetFileName(fileName); //获取文件名(不带路径) this.currFileExtension = System.IO.Path.GetExtension(fileName); //获取文件的扩展名 this.currFilePath = tempPath + fileName; //获取上传后的文件路径 记录到前面声明的全局变量 file.SaveAs(this.currFilePath); //上传 } ///<summary> ///读取xls\xlsx格式的Excel文件的方法 ///</ummary> ///<param name="path">待读取Excel的全路径</param> ///<returns></returns> private DataTable ReadExcelToTable(string path) { //连接字符串 string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; // Office 07及以上版本 不能出现多余的空格 而且分号注意 //string connstring = Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; //Office 07以下版本 因为本人用Office2010 所以没有用到这个连接字符串 可根据自己的情况选择 或者程序判断要用哪一个连接字符串 using(OleDbConnection conn = new OleDbConnection(connstring)) { conn.Open(); DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[]{null,null,null,"Table"}); //得到所有sheet的名字 string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字 string sql = string.Format("SELECT * FROM [{0}],firstSheetName); //查询字符串 OleDbDataAdapter ada =new OleDbDataAdapter(sql,connstring); DataSet set = new DataSet(); ada.Fill(set); return set.Tables[0]; } } ///<summary> ///读取csv格式的Excel文件的方法 ///</ummary> ///<param name="path">待读取Excel的全路径</param> ///<returns></returns> private DataTable ReadExcelWithStream(string path) { DataTable dt = new DataTable(); bool isDtHasColumn = false; //标记DataTable 是否已经生成了列 StreamReader reader = new StreamReader(path,System.Text.Encoding.Default); //数据流 while(!reader.EndOfStream) { string meaage = reader.ReadLine(); string[] splitResult = message.Split(new char[]{','},StringSplitOption.None); //读取一行 以逗号分隔 存入数组 DataRow row = dt.NewRow(); for(int i = 0;i<splitResult.Length;i++) { if(!isDtHasColumn) //如果还没有生成列 { dt.Columns.Add("column" + i,typeof(string)); } row[i] = splitResult[i]; } dt.Rows.Add(row); //添加行 isDtHasColumn = true; //读取第一行后 就标记已经存在列 再读取以后的行时,就不再生成列 } return dt; }
Weitere Artikel zum Lesen von Excel-Dateiinhalten mit ASP.NET (C#) finden Sie auf der chinesischen PHP-Website!

C# und .NET bieten leistungsstarke Funktionen und eine effiziente Entwicklungsumgebung. 1) C# ist eine moderne, objektorientierte Programmiersprache, die die Kraft von C und die Einfachheit von Java kombiniert. 2) Das .NET -Framework ist eine Plattform zum Erstellen und Ausführen von Anwendungen und unterstützt mehrere Programmiersprachen. 3) Klassen und Objekte in C# sind der Kern der objektorientierten Programmierung. Klassen definieren Daten und Verhalten, und Objekte sind Instanzen von Klassen. 4) Der Müllsammlungsmechanismus von .NET verwaltet automatisch Speicher, um die Arbeit der Entwickler zu vereinfachen. 5) C# und .NET liefern leistungsstarke Dateibetriebsfunktionen, die synchrone und asynchrone Programmierungen unterstützen. 6) Häufige Fehler können durch Debugger, Protokollierung und Ausnahmebehandlung gelöst werden. 7) Leistungsoptimierung und Best Practices umfassen die Verwendung von StringBuild

.NetFramework ist eine plattformübergreifende, plattformübergreifende Entwicklungsplattform, die ein konsistentes Programmiermodell und eine leistungsstarke Laufzeitumgebung bietet. 1) Es besteht aus CLR und FCL, die Speicher und Threads verwalten, und FCL bietet vorgefertigte Funktionen. 2) Beispiele für die Nutzung sind das Lesen von Dateien und LINQ -Abfragen. 3) Häufige Fehler beinhalten unbehandelte Ausnahmen und Speicherlecks und müssen mit Debugging -Tools gelöst werden. 4) Die Leistungsoptimierung kann durch asynchrones Programmieren und Caching erreicht werden, und die Aufrechterhaltung der Code -Lesbarkeit und -wartbarkeit ist der Schlüssel.

Gründe für C#.NET, die dauerhaft attraktiv bleiben, sind seine hervorragende Leistung, das reiche Ökosystem, die starken Unterstützung der Community und die plattformübergreifenden Entwicklungsfunktionen. 1) ausgezeichnete Leistung und eignet sich für Anwendungen auf Unternehmensebene und Spieleentwicklung. 2) Das .NET -Framework bietet eine breite Palette von Klassenbibliotheken und Tools, um eine Vielzahl von Entwicklungsfeldern zu unterstützen. 3) Es verfügt über eine aktive Entwicklergemeinschaft und eine reiche Lernressourcen. 4) .NetCore realisiert die plattformübergreifende Entwicklung und erweitert die Anwendungsszenarien.

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 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.

.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 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.

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.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Dreamweaver Mac
Visuelle Webentwicklungstools

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!
