suchen
HeimBackend-EntwicklungC#.Net-TutorialC# implementiert Hunderttausende Ebenen des Datenexports nach Excel und eine detaillierte Erläuterung verschiedener Beispielcodes für Excel-Operationen

In diesem Artikel werden hauptsächlich C# zur Implementierung Hunderttausender Datenexporte nach Excel und verschiedene Excel-Betriebsbeispiele vorgestellt. Der detaillierte Code wird hier zusammengestellt.

Exportieren Sie zuerst den Code


  /// <summary> 
      /// 导出速度最快 
      /// </summary> 
      /// <param name="list"><列名,数据></param> 
      /// <param name="filepath"></param> 
      /// <returns></returns> 
      public bool NewExport(List<DictionaryEntry> list, string filepath) 
      { 
        bool bSuccess = true; 
        Microsoft.Office.Interop.Excel.Application appexcel = new Microsoft.Office.Interop.Excel.Application(); 
        System.Reflection.Missing miss = System.Reflection.Missing.Value; 
        appexcel = new Microsoft.Office.Interop.Excel.Application(); 
        Microsoft.Office.Interop.Excel.Workbook workbookdata = null; 
        Microsoft.Office.Interop.Excel.Worksheet worksheetdata = null; 
        Microsoft.Office.Interop.Excel.Range rangedata; 
   
        workbookdata = appexcel.Workbooks.Add(); 
   
        //设置对象不可见 
        appexcel.Visible = false; 
        appexcel.DisplayAlerts = false; 
        try 
        { 
          foreach (var lv in list) 
          { 
            var keys = lv.Key as List<string>; 
            var values = lv.Value as List<IList<object>>; 
            worksheetdata = (Microsoft.Office.Interop.Excel.Worksheet)workbookdata.Worksheets.Add(miss, workbookdata.ActiveSheet); 
   
            for (int i = 0; i < keys.Count-1; i++) 
            { 
              //给工作表赋名称 
              worksheetdata.Name = keys[0];//列名的第一个数据位表名 
              worksheetdata.Cells[1, i + 1] = keys[i+1]; 
            } 
   
            //因为第一行已经写了表头,所以所有数据都应该从a2开始 
            rangedata = worksheetdata.get_Range("a2", miss); 
            Microsoft.Office.Interop.Excel.Range xlrang = null; 
   
            //irowcount为实际行数,最大行 
            int irowcount = values.Count; 
            int iparstedrow = 0, icurrsize = 0; 
   
            //ieachsize为每次写行的数值,可以自己设置 
            int ieachsize = 10000; 
   
            //icolumnaccount为实际列数,最大列数 
            int icolumnaccount = keys.Count-1; 
   
            //在内存中声明一个ieachsize×icolumnaccount的数组,ieachsize是每次最大存储的行数,icolumnaccount就是存储的实际列数 
            object[,] objval = new object[ieachsize, icolumnaccount]; 
            icurrsize = ieachsize; 
   
            while (iparstedrow < irowcount) 
            { 
              if ((irowcount - iparstedrow) < ieachsize) 
                icurrsize = irowcount - iparstedrow; 
   
              //用for循环给数组赋值 
              for (int i = 0; i < icurrsize; i++) 
              { 
                for (int j = 0; j < icolumnaccount; j++) 
                { 
                  var v = values[i + iparstedrow][j]; 
                  objval[i, j] = v != null ? v.ToString() : ""; 
                } 
              } 
              string X = "A" + ((int)(iparstedrow + 2)).ToString(); 
              string col = ""; 
              if (icolumnaccount <= 26) 
              { 
                col = ((char)(&#39;A&#39; + icolumnaccount - 1)).ToString() + ((int)(iparstedrow + icurrsize + 1)).ToString(); 
              } 
              else 
              { 
                col = ((char)(&#39;A&#39; + (icolumnaccount / 26 - 1))).ToString() + ((char)(&#39;A&#39; + (icolumnaccount % 26 - 1))).
                ToString() + ((int)(iparstedrow + icurrsize + 1)).ToString(); 
              } 
              xlrang = worksheetdata.get_Range(X, col); 
              xlrang.NumberFormat = "@"; 
              // 调用range的value2属性,把内存中的值赋给excel 
              xlrang.Value2 = objval; 
              iparstedrow = iparstedrow + icurrsize; 
            } 
          } 
          ((Microsoft.Office.Interop.Excel.Worksheet)workbookdata.Worksheets["Sheet1"]).Delete(); 
          ((Microsoft.Office.Interop.Excel.Worksheet)workbookdata.Worksheets["Sheet2"]).Delete(); 
          ((Microsoft.Office.Interop.Excel.Worksheet)workbookdata.Worksheets["Sheet3"]).Delete(); 
          //保存工作表 
          workbookdata.SaveAs(filepath, miss, miss, miss, miss, miss, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, miss, miss, miss); 
          workbookdata.Close(false, miss, miss); 
          appexcel.Workbooks.Close(); 
          appexcel.Quit(); 
   
          System.Runtime.InteropServices.Marshal.ReleaseComObject(workbookdata); 
          System.Runtime.InteropServices.Marshal.ReleaseComObject(appexcel.Workbooks); 
          System.Runtime.InteropServices.Marshal.ReleaseComObject(appexcel); 
          GC.Collect(); 
        } 
        catch (Exception ex) 
        { 
          ErrorMsg = ex.Message; 
          bSuccess = false; 
        } 
        finally 
        { 
          if (appexcel != null) 
          { 
            ExcelImportHelper.KillSpecialExcel(appexcel); 
          } 
        } 
        return bSuccess; 
      }



range.NumberFormatLocal = "@";   //设置单元格格式为文本   
  
range = (Range)worksheet.get_Range("A1", "E1");   //获取Excel多个单元格区域:本例做为Excel表头   
  
range.Merge(0);   //单元格合并动作   
  
worksheet.Cells[1, 1] = "Excel单元格赋值";   //Excel单元格赋值   
  
range.Font.Size = 15;   //设置字体大小   
  
range.Font.Underline=true;   //设置字体是否有下划线   
  
range.Font.Name="黑体";    设置字体的种类   
  
range.HorizontalAlignment=XlHAlign.xlHAlignCenter;   //设置字体在单元格内的对其方式   
  
range.ColumnWidth=15;   //设置单元格的宽度   
  
range.Cells.Interior.Color=System.Drawing.Color.FromArgb(255,204,153).ToArgb();   //设置单元格的背景色   
  
range.Borders.LineStyle=1;   //设置单元格边框的粗细   
  
range.BorderAround(XlLineStyle.xlContinuous,XlBorderWeight.xlThick,XlColorIndex.xlColorIndexAutomatic,System.Drawing.Color.Black.ToArgb());   
//给单元格加边框   
  
range.Borders.get_Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone; 
//设置单元格上边框为无边框   
  
range.EntireColumn.AutoFit();   //自动调整列宽   
  
Range.HorizontalAlignment= xlCenter;   // 文本水平居中方式   
  
Range.VerticalAlignment= xlCenter   //文本垂直居中方式   
  
Range.WrapText=true;   //文本自动换行   
  
Range.Interior.ColorIndex=39;   //填充颜色为淡紫色   
  
Range.Font.Color=clBlue;   //字体颜色   
  
xlsApp.DisplayAlerts=false;  //对Excel的操作 不弹出提示信息 
ApplicationClass xlsApp = new ApplicationClass(); // 1. 创建Excel应用程序对象的一个实例,相当于我们从开始菜单打开Excel应用程序。 
if (xlsApp == null) 
{ 
//对此实例进行验证,如果为null则表示运行此代码的机器可能未安装Excel 
}


1. Öffnen Sie die vorhandene Excel-Datei


Workbook workbook = xlsApp.Workbooks.Open(excelFilePath, 
Type.Missing, Type.Missing, Type.Missing, 
Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
Type.Missing, Type.Missing, Type.Missing); 
Worksheet mySheet = workbook.Sheets[1] as Worksheet; //第一个sheet页 
mySheet.Name = "testsheet"; //这里修改sheet名称


2. Kopieren Sie die Blattseite


mySheet.Copy(Type.Missing, workbook.Sheets[1]);
//复制mySheet成一个新的sheet页,复制完后的名称是mySheet页名称后加一个(2),这里就是testsheet(2),复制完后,Worksheet的数量增加一个


Beachten Sie, dass sich die beiden Parameter der Copy-Methode hier auf die beziehen copy Es wird angezeigt, ob sich die neue Blattseite vor oder hinter der angegebenen Blattseite befindet. Das obige Beispiel bedeutet, dass sich die kopierte Blattseite hinter der ersten Blattseite befindet.

3. Blattseite löschen


xlsApp.DisplayAlerts = false; //如果想删除某个sheet页,首先要将此项设为fasle。 
(xlsApp.ActiveWorkbook.Sheets[1] as Worksheet).Delete();


4 🎜>


Code kopieren Der Code lautet wie folgt:

(xlsApp.ActiveWorkbook.Sheets[1] as Arbeitsblatt). Select(Type.Missing); //Wählen Sie ein Blatt aus

5



6. Geben Sie Excel-Ressourcen frei


workbook.Saved = true; 
workbook.SaveCopyAs(filepath);



Methode 2:

workbook.Close(true, Type.Missing, Type.Missing); 
workbook = null; 
xlsApp.Quit(); 
xlsApp = null;



Methode 3:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Excel;
using System.Data;

namespace ExcelTest
{
  public class ExcelUtil
  {
    System.Data.DataTable table11 = new System.Data.DataTable();

    public void ExportToExcel(System.Data.DataTable table, string saveFileName)
    {

      bool fileSaved = false;

      //ExcelApp xlApp = new ExcelApp();

      Application xlApp = new Application();

      if (xlApp == null)
      {
        return;
      }

      Workbooks workbooks = xlApp.Workbooks;
      Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
      Worksheet worksheet = (Worksheet)workbook.Worksheets[1];//取得sheet1

      long rows = table.Rows.Count;

      /*下边注释的两行代码当数据行数超过行时,出现异常:异常来自HRESULT:0x800A03EC。因为:Excel 2003每个sheet只支持最大行数据

      //Range fchR = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[table.Rows.Count+2, gridview.Columns.View.VisibleColumns.Count+1]);

      //fchR.Value2 = datas;*/

      if (rows > 65535)
      {

        long pageRows = 60000;//定义每页显示的行数,行数必须小于

        int scount = (int)(rows / pageRows);

        if (scount * pageRows < table.Rows.Count)//当总行数不被pageRows整除时,经过四舍五入可能页数不准
        {
          scount = scount + 1;
        }

        for (int sc = 1; sc <= scount; sc++)
        {
          if (sc > 1)
          {

            object missing = System.Reflection.Missing.Value;

            worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets.Add(

            missing, missing, missing, missing);//添加一个sheet

          }

          else
          {
            worksheet = (Worksheet)workbook.Worksheets[sc];//取得sheet1
          }

          string[,] datas = new string[pageRows + 1, table.Columns.Count+ 1];

for (int i = 0; i < table.Columns.Count; i++) //写入字段
          {
            datas[0, i] = table.Columns[i].Caption;
          }

          Range range = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, table.Columns.Count]);
          range.Interior.ColorIndex = 15;//15代表灰色
          range.Font.Bold = true;
          range.Font.Size = 9;

          int init = int.Parse(((sc - 1) * pageRows).ToString());
          int r = 0;
          int index = 0;
          int result;

          if (pageRows * sc >= table.Rows.Count)
          {
            result = table.Rows.Count;
          }
          else
          {
            result = int.Parse((pageRows * sc).ToString());
          }
          for (r = init; r < result; r++)
          {
            index = index + 1;
            for (int i = 0; i < table.Columns.Count; i++)
            {
              if (table.Columns[i].DataType == typeof(string) || table.Columns[i].DataType == typeof(Decimal) || table.Columns[i].DataType == typeof(DateTime))
              {
                object obj = table.Rows[r][table.Columns[i].ColumnName];
                datas[index, i] = obj == null ? "" : "&#39;" + obj.ToString().Trim();//在obj.ToString()前加单引号是为了防止自动转化格式

              }

            }
          }

          Range fchR = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[index + 2, table.Columns.Count + 1]);

          fchR.Value2 = datas;
          worksheet.Columns.EntireColumn.AutoFit();//列宽自适应。

          range = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[index + 1, table.Columns.Count]);

          //15代表灰色

          range.Font.Size = 9;
          range.RowHeight = 14.25;
          range.Borders.LineStyle = 1;
          range.HorizontalAlignment = 1;

        }

      }

      else
      {

        string[,] datas = new string[table.Rows.Count + 2, table.Columns.Count + 1];
        for (int i = 0; i < table.Columns.Count; i++) //写入字段     
        {
          datas[0, i] = table.Columns[i].Caption;
        }

        Range range = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, table.Columns.Count]);
        range.Interior.ColorIndex = 15;//15代表灰色
        range.Font.Bold = true;
        range.Font.Size = 9;

        int r = 0;
        for (r = 0; r < table.Rows.Count; r++)
        {
          for (int i = 0; i < table.Columns.Count; i++)
          {
            if (table.Columns[i].DataType == typeof(string) || table.Columns[i].DataType == typeof(Decimal) || table.Columns[i].DataType == typeof(DateTime))
            {
              object obj = table.Rows[r][table.Columns[i].ColumnName];
              datas[r + 1, i] = obj == null ? "" : "&#39;" + obj.ToString().Trim();//在obj.ToString()前加单引号是为了防止自动转化格式

            }

          }

          //System.Windows.Forms.Application.DoEvents();

}

        Range fchR = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[table.Rows.Count + 2, table.Columns.Count + 1]);

        fchR.Value2 = datas;
        
        worksheet.Columns.EntireColumn.AutoFit();//列宽自适应。

        range = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[table.Rows.Count + 1, table.Columns.Count]);

        //15代表灰色

        range.Font.Size = 9;
        range.RowHeight = 14.25;
        range.Borders.LineStyle = 1;
        range.HorizontalAlignment = 1;
      }

      if (saveFileName != "")
      {
        try
        {
          workbook.Saved = true;
          workbook.SaveCopyAs(saveFileName);
          fileSaved = true;

        }

        catch (Exception ex)
        {
          fileSaved = false;
        }

      }

      else
      {

        fileSaved = false;

      }

      xlApp.Quit();

      GC.Collect();//强行销毁 
  
    }
  }
}
Gehen Sie zuerst zur offiziellen Website: http://www.php.cn/, um die DLL herunterzuladen, die Sie importieren müssen (Sie können .net2.0 oder .net4.0 DLL wählen), und dann Fügen Sie einen Verweis auf die Website hinzu.


Exportcode:

Importcode:


NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("test_01");

// 第一列
NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("第一列第一行");

// 第二列
NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(1);
row2.CreateCell(0).SetCellValue("第二列第一行");

// ...

// 写入到客户端 
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", DateTime.Now.ToString("yyyyMMddHHmmssfff")));
Response.BinaryWrite(ms.ToArray());
book = null;
ms.Close();
ms.Dispose();



Verwendung:


Erstellen Sie zunächst eine leere Arbeitsmappe zum Testen und erstellen Sie darin ein leeres Arbeitsblatt Erstellen Sie in der Tabelle eine Zelle in der Zeile und geben Sie den Inhalt ein:
HSSFWorkbook hssfworkbook; 
#region 
public DataTable ImportExcelFile(string filePath) 
{ 
  #region//初始化信息 
  try 
  { 
    using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read)) 
    { 
      hssfworkbook = new HSSFWorkbook(file); 
    } 
  } 
  catch (Exception e) 
  { 
    throw e; 
  } 
  #endregion 
 
  NPOI.SS.UserModel.Sheet sheet = hssfworkbook.GetSheetAt(0); 
  System.Collections.IEnumerator rows = sheet.GetRowEnumerator(); 
  DataTable dt = new DataTable(); 
  for (int j = 0; j < (sheet.GetRow(0).LastCellNum); j++) 
  { 
    dt.Columns.Add(Convert.ToChar(((int)&#39;A&#39;) + j).ToString()); 
  } 
  while (rows.MoveNext()) 
  { 
    HSSFRow row = (HSSFRow)rows.Current; 
    DataRow dr = dt.NewRow(); 
    for (int i = 0; i < row.LastCellNum; i++) 
    { 
      NPOI.SS.UserModel.Cell cell = row.GetCell(i); 
      if (cell == null) 
      { 
        dr[i] = null; 
      } 
      else 
      { 
        dr[i] = cell.ToString(); 
      } 
    } 
    dt.Rows.Add(dr); 
  } 
  return dt; 
} 
#endregion



Legen Sie den Zellenstil fest: Wann Beim Festlegen von Zellstilen müssen Sie darauf achten, ein neues Stilobjekt zum Festlegen zu erstellen. Andernfalls werden die Stile aller Zellen im Arbeitsblatt gemeinsam festgelegt:


//建立空白工作簿
IWorkbook workbook = new HSSFWorkbook();
//在工作簿中:建立空白工作表
ISheet sheet = workbook.CreateSheet();
//在工作表中:建立行,参数为行号,从0计
IRow row = sheet.CreateRow(0);
//在行中:建立单元格,参数为列号,从0计
ICell cell = row.CreateCell(0);
//设置单元格内容
cell.SetCellValue("实习鉴定表");



Zellenbreite und -höhe festlegen:

ICellStyle style = workbook.CreateCellStyle();
//设置单元格的样式:水平对齐居中
style.Alignment = HorizontalAlignment.CENTER;
//新建一个字体样式对象
IFont font = workbook.CreateFont();
//设置字体加粗样式
font.Boldweight = short.MaxValue;
//使用SetFont方法将字体样式添加到单元格样式中 
style.SetFont(font);
//将新的样式赋给单元格
cell.CellStyle = style;
Das Festlegen der Höhe einer Zelle legt tatsächlich die fest Höhe der Zeile, in der es sich befindet. Sie müssen also die Zeilenhöhe in der Zeile festlegen, in der sich die Zelle befindet. Der Einstellungswert für die Zeilenhöhe scheint 1/20 des Pixels zu sein, also *20, um den Einstellungseffekt zu erzielen.


In der Tat, Festlegen der Breite der Zelle Es dient dazu, die Breite der Spalte festzulegen, in der sich die Zelle befindet. Sie muss daher auf die Spalte eingestellt werden, in der sich die Zelle befindet (die Spalte ist). Der Breitenwert scheint 1/256 des Zeichens zu betragen, daher wird *256 verwendet, um den Einstellungseffekt zu erzielen.


Zellen zusammenführen:
Zellen zusammenführen deklarieren tatsächlich einen Bereich, in dem die Zellen zusammengeführt werden. und der zusammengeführte Inhalt und Stil basieren auf der Zelle in der oberen linken Ecke des Bereichs.

//设置单元格的高度
row.Height = 30 * 20;
//设置单元格的宽度
sheet.SetColumnWidth(0, 30 * 256);


Formel hinzufügen:
Verwenden Sie Cells CellFormula, um die Formel festzulegen, bei der es sich um eine Zeichenfolgenformel handelt Es ist nicht nötig, das =-Zeichen davor einzufügen.

//设置一个合并单元格区域,使用上下左右定义CellRangeAddress区域
//CellRangeAddress四个参数为:起始行,结束行,起始列,结束列
sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 10));


Schreiben Sie die Arbeitsmappe in eine Datei, um den Effekt anzuzeigen:

//通过Cell的CellFormula向单元格中写入公式
//注:直接写公式内容即可,不需要在最前加&#39;=&#39;
ICell cell2 = sheet.CreateRow(1).CreateCell(0);
cell2.CellFormula = "HYPERLINK(\"测试图片.jpg\",\"测试图片.jpg\")";


Das Obige ist die detaillierte Erklärung des Beispielcodes von C# zum Exportieren Hunderttausender Daten nach Excel und verschiedener Excel-Vorgänge Inhalt, achten Sie bitte auf die chinesische PHP-Website (www.php.cn)!


//将工作簿写入文件
using (FileStream fs = new FileStream("生成效果.xls", FileMode.Create, FileAccess.Write))
{
 workbook.Write(fs);
}

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
Ist C# .NET das Richtige für Sie? Bewertung seiner AnwendbarkeitIst C# .NET das Richtige für Sie? Bewertung seiner AnwendbarkeitApr 13, 2025 am 12:03 AM

C#.NetissoBableFoREenterPrise-Level Applications-WithemicrosoftCosystemDuetoitsStrongtyPing, Richlibrary, Androbustperformance.

C# Code in .NET: Erforschen des ProgrammiervorgangsC# Code in .NET: Erforschen des ProgrammiervorgangsApr 12, 2025 am 12:02 AM

Der Programmierungsprozess von C# in .NET enthält die folgenden Schritte: 1) Schreiben von C# Code, 2) Kompilieren in eine mittlere Sprache (IL) und 3), die durch die .NET -Laufzeit (CLR) ausführt. Die Vorteile von C# in .NET sind die moderne Syntax, das leistungsstarke Typsystem und die enge Integration in das .NET -Framework, das für verschiedene Entwicklungsszenarien geeignet ist, von Desktop -Anwendungen bis hin zu Webdiensten.

C# .NET: Erforschen von Kernkonzepten und ProgrammierfundamentaldatenC# .NET: Erforschen von Kernkonzepten und ProgrammierfundamentaldatenApr 10, 2025 am 09:32 AM

C# ist eine moderne, objektorientierte Programmiersprache, die von Microsoft und als Teil des .NET-Frameworks entwickelt wurde. 1.C# unterstützt die objektorientierte Programmierung (OOP), einschließlich Einkapselung, Vererbung und Polymorphismus. 2. Asynchrones Programmieren in C# wird über Async implementiert und wartet auf Schlüsselwörter, um die Reaktionsfähigkeit der Anwendungen zu verbessern. 3.. Verwenden Sie LINQ, um Datensammlungen präzise zu verarbeiten. 4. Häufige Fehler umfassen Null-Referenzausnahmen und Indexausnahmen außerhalb des Bereichs. Zu den Debugging -Fähigkeiten gehört die Verwendung eines Debuggers und Ausnahmeberechnung. 5. Leistungsoptimierung umfasst die Verwendung von StringBuilder und das Vermeiden von unnötigem Packung und Unboxing.

Testen von C# .NET-Anwendungen: Einheit, Integration und End-to-End-TestTesten von C# .NET-Anwendungen: Einheit, Integration und End-to-End-TestApr 09, 2025 am 12:04 AM

Die Teststrategien für C#.NET-Anwendungen umfassen Unit-Tests, Integrationstests und End-to-End-Tests. 1. Unit -Test stellt sicher, dass die Mindesteinheit des Codes unter Verwendung des Frameworks MStest, Nunit oder Xunit unabhängig funktioniert. 2. Integrierte Tests überprüfen die Funktionen mehrerer Einheiten kombinierter, häufig verwendeten simulierten Daten und externen Diensten. 3. End-to-End-Tests simuliert den vollständigen Betriebsprozess des Benutzers, und Selen wird normalerweise für automatisierte Tests verwendet.

Advanced C# .NET Tutorial: Ace Ihr nächstes Senior Developer InterviewAdvanced C# .NET Tutorial: Ace Ihr nächstes Senior Developer InterviewApr 08, 2025 am 12:06 AM

Das Interview mit C# Senior Developer erfordert das Mastering von Kernwissen wie asynchrones Programmieren, LINQ und interne Arbeitsprinzipien von .NET -Frameworks. 1. Asynchrones Programmieren vereinfacht die Operationen durch Async und wartet auf die Verbesserung der Anwendungsreaktionsfähigkeit. 2.LinQ betreibt Daten im SQL -Stil und achtet auf die Leistung. 3. Die CLR des Net -Frameworks verwaltet den Speicher, und die Müllsammlung muss mit Vorsicht verwendet werden.

C# .NET -Interview Fragen und Antworten: Stufen Sie Ihr Fachwissen aufC# .NET -Interview Fragen und Antworten: Stufen Sie Ihr Fachwissen aufApr 07, 2025 am 12:01 AM

C#.NET -Interviewfragen und Antworten umfassen Grundkenntnisse, Kernkonzepte und erweiterte Nutzung. 1) Grundkenntnisse: C# ist eine von Microsoft entwickelte objektorientierte Sprache und wird hauptsächlich im .NET-Framework verwendet. 2) Kernkonzepte: Delegation und Ereignisse ermöglichen dynamische Bindungsmethoden, und LINQ bietet leistungsstarke Abfragefunktionen. 3) Erweiterte Verwendung: Asynchrone Programmierung verbessert die Reaktionsfähigkeit und Expressionsbäume werden für die dynamische Codekonstruktion verwendet.

Erstellen von Microservices mit C# .NET: Ein praktischer Leitfaden für ArchitektenErstellen von Microservices mit C# .NET: Ein praktischer Leitfaden für ArchitektenApr 06, 2025 am 12:08 AM

C#.NET ist eine beliebte Wahl für den Aufbau von Microservices aufgrund seines starken Ökosystems und seiner umfangreichen Unterstützung. 1) Erstellen Sie Rastfulapi mit ASP.NetCore, um die Erstellung und Abfrage der Reihenfolge zu verarbeiten. 2) Verwenden Sie GRPC, um eine effiziente Kommunikation zwischen Microservices zu erreichen, und implementieren Sie Auftragsdienste. 3) Vereinfachen Sie die Bereitstellung und Verwaltung durch Microservices mit Docker Container.

C# .NET Security Best Practices: Verhinderung gemeinsamer SchwachstellenC# .NET Security Best Practices: Verhinderung gemeinsamer SchwachstellenApr 05, 2025 am 12:01 AM

Zu den Best Practices für C# und .NET gehören die Eingabeüberprüfung, die Ausgabecodierung, die Ausnahmebehandlung sowie die Authentifizierung und Autorisierung. 1) Verwenden Sie regelmäßige Ausdrücke oder integrierte Methoden, um die Eingaben zu überprüfen, um zu verhindern, dass bösartige Daten in das System eintreten. 2) Ausgangscodierung Um XSS -Angriffe zu verhindern, verwenden Sie die Methode httputility.htmlencode. 3) Ausnahmebehandlung vermeidet Informationen, die Leckagen aufzeichnen, Fehler aufzeichnen, jedoch keine detaillierten Informationen an den Benutzer zurückgeben. 4) Verwenden Sie ASP.Netidentity- und Schadensbasis-Berechtigung, um Anwendungen vor nicht autorisierten Zugriff zu schützen.

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

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

SublimeText3 Englische Version

SublimeText3 Englische Version

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

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor