
การตรวจสอบข้อมูลใน Excel ช่วยให้ผู้ใช้ป้อนข้อมูลที่ถูกต้องในแผ่นงาน ในการออกแบบฟอร์ม การรวบรวมข้อมูล หรือการสร้างแบบจำลองทางการเงิน การตรวจสอบข้อมูลช่วยรักษาโครงสร้างและลดข้อผิดพลาดของผู้ใช้ ในโพสต์นี้ เราจะแสดงวิธีการใช้การตรวจสอบข้อมูลใน Excel โดยใช้ C# โปรแกรมที่สร้างขึ้นโดยอัตโนมัติ
บทความนี้ครอบคลุมหัวข้อต่อไปนี้:
- C# ไลบรารีการตรวจสอบข้อมูล Excel
- สร้างรายการแบบเลื่อนใน Excel โดยใช้ C#
- จำกัดการป้อนหมายเลขทั้งใน Excel โดยใช้ C#
- การตรวจสอบช่วงวันที่ใน Excel โดยใช้ C#
- การตรวจสอบความถูกต้องของข้อมูลโดยใช้สูตรใน Excel
- จัดการข้อมูลที่ไม่ถูกต้องด้วยการแจ้งเตือนข้อผิดพลาดใน Excel
- แหล่งข้อมูลฟรี
ห้องสมุดการตรวจสอบข้อมูล C# Excel
การตรวจสอบข้อมูลจะช่วยให้แน่ใจว่าผู้ใช้ป้อนข้อมูลที่ถูกต้องและคาดหวังในสเปรดชีต Excel เราจะใช้ Aspose.Cells for .NET API เพื่อเพิ่มการตรวจสอบข้อมูลประเภทต่าง ๆ ใน Excel มันให้วิธีที่ทรงพลังและยืดหยุ่นในการกำหนดกฎ เช่น รายการแบบเลื่อนลง, ช่วงตัวเลข, ขีดจำกัดวันที่, และสูตรที่กำหนดเอง ทั้งหมดนี้โดยไม่ต้องการ Microsoft Excel
ติดตั้ง Aspose.Cells for .NET ผ่านทาง NuGet ในโปรเจกต์ของคุณ:
PM> Install-Package Aspose.Cells
จากนั้นนำเข้าชื่อพื้นที่ที่เกี่ยวข้อง:
using Aspose.Cells;
สร้างการตรวจสอบรายการแบบเลื่อนลงใน Excel โดยใช้ C#
คุณสามารถจำกัดการป้อนข้อมูลของผู้ใช้ให้เป็นชุดตัวเลือกที่กำหนดไว้ล่วงหน้าโดยการสร้างการตรวจสอบรายการดรอปดาวน์ใน Excel ซึ่งจะช่วยให้มั่นใจว่าเป็นค่าที่สอดคล้องกัน โดยเฉพาะอย่างยิ่งในแบบฟอร์มหรือเทมเพลต
ตามขั้นตอนเหล่านี้เพื่อสร้างรายการแบบเลื่อนใน Excel โดยใช้ C#:
- สร้างออบเจกต์
Workbook
ใหม่। - เข้าถึง
worksheet
แรกโดยใช้ดัชนีของมัน。 - กำหนดเป้าหมาย
CellArea
สำหรับการตรวจสอบความถูกต้อง。 - เข้าถึงคอลเลกชันการตรวจสอบของเวิร์กชีต
- เพิ่มการตรวจสอบใหม่โดยใช้วิธีการ
Add()
- ตั้งค่าประเภทการตรวจสอบเป็น
ValidationType.List
. - กำหนดตัวเลือกแบบเลื่อนลงโดยใช้คุณสมบัติ
Formula1
(แยกด้วยเครื่องหมายจุลภาค) - เพิ่มพื้นที่เซลล์ในการตรวจสอบโดยใช้วิธีการ
AddArea()
- บันทึกสมุดงานเพื่อสร้างไฟล์ Excel ที่ได้รับการตรวจสอบแล้ว
นี่คือตัวอย่างโค้ด C# ที่นำขั้นตอนเหล่านี้ไปใช้:
// สร้างสมุดงาน Excel ใหม่
var workbook = new Workbook();
// เข้าถึงแผ่นงานแรกในสมุดงาน
var sheet = workbook.Worksheets[0];
// กำหนดพื้นที่เซลล์เป้าหมายสำหรับการตรวจสอบ (A1 ในกรณีนี้)
var area = new CellArea
{
StartRow = 0, // Row index starts from 0 (Row 1)
EndRow = 0, // Apply to a single row
StartColumn = 0, // Column index starts from 0 (Column A)
EndColumn = 0 // Apply to a single column
};
// เข้าถึงคอลเลกชันการตรวจสอบของแผ่นงาน
var validations = sheet.Validations;
// เพิ่มรายการการตรวจสอบใหม่สำหรับพื้นที่เซลล์ที่ระบุ
int index = validations.Add(area);
var validation = validations[index];
// ตั้งค่าประเภทการตรวจสอบเป็นรายการดรอปดาวน์
validation.Type = ValidationType.List;
// กำหนดรายการที่อนุญาต (ค่าที่คั่นด้วยเครื่องหมายจุลภาค)
validation.Formula1 = "Red,Green,Blue";
// ตั้งค่าข้อความที่แสดงเมื่อเลือกเซลล์
validation.InputMessage = "Select a color from the list.";
// ตั้งข้อความแสดงข้อผิดพลาดที่ปรากฏถ้าป้อนข้อมูลที่ไม่ถูกต้อง
validation.ErrorMessage = "Only Red, Green, or Blue are allowed.";
// เปิดใช้งานการแสดงข้อความแสดงข้อผิดพลาด
validation.ShowError = true;
// ใช้พื้นที่ที่กำหนดในการตรวจสอบ
validation.AddArea(area);
// บันทึกสมุดงานไปยังเส้นทางไฟล์ที่กำหนด
workbook.Save("dropdown-validation.xlsx");

การสร้างการตรวจสอบรายการดรอปดาวน์ใน Excel โดยใช้ C#
จำกัดให้เป็นจำนวนเต็มใน Excel โดยใช้ C#
การตรวจสอบหมายเลขเต็ม (Whole number validation) ช่วยให้ผู้ใช้ป้อนค่าเชิงจำนวนที่ถูกต้องเท่านั้นใน Excel ซึ่งเหมาะสำหรับฟิลด์ที่เป็นปริมาณ (quantity fields) การป้อนอายุ (age inputs) หรือแผ่นงบประมาณ (budget sheets) ซึ่งไม่สามารถรับค่าเป็นทศนิยม (decimals) หรือข้อความ (text) ได้
ให้เราสมมติว่าคุณต้องการจำกัดเซลล์ให้รับเฉพาะตัวเลขระหว่าง 1 และ 100 เท่านั้น โดยไม่มีข้อกำหนดนี้ ผู้ใช้อาจกรอกข้อมูลที่ไม่ถูกต้องโดยบังเอิญ เช่น 150 หรือ abc ซึ่งจะทำให้เกิดข้อผิดพลาดในการคำนวณหรือปัญหาเชิงตรรกะในสเปรดชีตของคุณ
ด้วย Aspose.Cells for .NET คุณสามารถบังคับใช้กฎการตรวจสอบนี้ผ่านโปรแกรมใน C# โดยไม่จำเป็นต้องกำหนดค่าแบบแมนวลใน Excel
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการจำกัดผู้ใช้ให้ป้อนเฉพาะค่าที่อนุญาต:
using Aspose.Cells;
// สร้างสมุดงาน Excel ใหม่
var workbook = new Workbook();
// เข้าถึงแผ่นงานแรกในสมุดงาน
var sheet = workbook.Worksheets[0];
// กำหนดพื้นที่เซลล์เป้าหมาย — B2 (แถว 1, คอลัมน์ 1)
var area = new CellArea
{
StartRow = 1,
EndRow = 1,
StartColumn = 1,
EndColumn = 1
};
// เข้าถึงคอลเลกชันการตรวจสอบของเวิร์กชีต
var validations = sheet.Validations;
// เพิ่มการตรวจสอบใหม่และรับดัชนีของมัน
int index = validations.Add(area);
// เรียกวัตถุการตรวจสอบโดยใช้ดัชนี
var validation = validations[index];
// ตั้งค่าประเภทการตรวจสอบให้เป็น WholeNumber (อนุญาตเฉพาะจำนวนเต็มเท่านั้น)
validation.Type = ValidationType.WholeNumber;
// ตั้งค่าตัวดำเนินการเป็น Between
validation.Operator = OperatorType.Between;
// กำหนดช่วงที่ใช้ได้: 1 ถึง 100
validation.Formula1 = "1";
validation.Formula2 = "100";
// ตั้งค่าข้อความแสดงข้อผิดพลาดที่ปรากฏเมื่อมีการป้อนข้อมูลที่ไม่ถูกต้อง
validation.ErrorMessage = "Enter a number between 1 and 100.";
// เปิดแสดงการแจ้งเตือนข้อผิดพลาดเมื่อการตรวจสอบล้มเหลว
validation.ShowError = true;
// (Optional if not using Add(area) earlier) เพิ่มพื้นที่ในการตรวจสอบอย่างชัดเจน
validation.AddArea(area);
// บันทึกสมุดงานเป็นไฟล์
workbook.Save("numbers-validation.xlsx");

จำกัดให้เป็นหมายเลขทั้งหมดใน Excel โดยใช้ C#
ใช้การตรวจสอบช่วงวันที่ใน Excel โดยใช้ C#
การตรวจสอบความถูกต้องของวันที่ช่วยให้คุณมั่นใจได้ว่าผู้ใช้จะป้อนวันที่ที่ถูกต้องเท่านั้น ซึ่งมีประโยชน์ในเครื่องมือการวางแผน บันทึกการเข้าร่วม ตารางการจอง และกรณีใด ๆ ที่คุณต้องการวันที่ในช่วงเวลาที่กำหนด
ตัวอย่างเช่น ลองนึกภาพว่าคุณกำลังสร้างแม่แบบการกำหนดเวลาโครงการ และคุณต้องการจำกัดผู้ใช้ไม่ให้ใส่วันที่เฉพาะในปี 2024 เท่านั้น การอนุญาตให้ผู้ใช้ใส่วันที่นอกเหนือจากช่วงนี้ (เช่น 2023 หรือ 2025) อาจทำให้เกิดการขัดแย้งในสูตรหรือสร้างบันทึกที่ไม่สอดคล้องกัน
Aspose.Cells for .NET ทำให้การกำหนดค่าการตรวจสอบวันที่ในเซลล์เฉพาะทำได้ง่าย ดังนั้นผู้ใช้สามารถกรอกวันที่ที่ตรงตามเกณฑ์ของคุณได้เท่านั้น
โค้ดตัวอย่างด้านล่างแสดงให้เห็นถึงวิธีการที่จะทำให้แน่ใจว่าผู้ใช้สามารถป้อนวันที่ได้เฉพาะระหว่างวันที่ 1 มกราคม 2024 ถึง 31 ธันวาคม 2024 เท่านั้น สิ่งใดก็ตามที่อยู่นอกช่วงเวลานี้จะกระตุ้นให้เกิดข้อผิดพลาด ช่วยให้คุณรักษาข้อมูลให้สะอาดและแม่นยำมากขึ้นในสเปรดชีตของคุณ
using Aspose.Cells;
// สร้างสมุดงาน Excel ใหม่
var workbook = new Workbook();
// เข้าถึงแผ่นงานแรกในสมุดงาน
var sheet = workbook.Worksheets[0];
// กำหนดพื้นที่เซลล์เพื่อใช้การตรวจสอบ — C3 (แถว 2, คอลัมน์ 2)
var area = new CellArea
{
StartRow = 2,
EndRow = 2,
StartColumn = 2,
EndColumn = 2
};
// เข้าถึงคอลเลกชันการตรวจสอบของแผ่นงาน
var validations = sheet.Validations;
// เพิ่มการตรวจสอบใหม่และรับดัชนีของมัน
int index = validations.Add(area);
// ดึงวัตถุการตรวจสอบ
var validation = validations[index];
// ตั้งค่าประเภทการตรวจสอบเป็น วันที่
validation.Type = ValidationType.Date;
// ตั้งค่าตัวดำเนินการเป็น ระหว่าง (วันที่เริ่มต้นและวันที่สิ้นสุด)
validation.Operator = OperatorType.Between;
// ระบุช่วงวันที่ที่ถูกต้อง: 1 มกราคม 2024 ถึง 31 ธันวาคม 2024
validation.Formula1 = "2024-01-01";
validation.Formula2 = "2024-12-31";
// ตั้งค่าข้อความแสดงข้อผิดพลาดเมื่อวันที่อยู่นอกช่วง
validation.ErrorMessage = "Date must be within the year 2024.";
// เปิดการแสดงการแจ้งเตือนข้อผิดพลาด
validation.ShowError = true;
// นำพื้นที่กลับมาใช้อีกครั้งเพื่อให้แน่ใจว่าการตรวจสอบถูกผูกติดอย่างถูกต้อง
validation.AddArea(area);
// บันทึกสมุดงานไปยังเส้นทางที่กำหนด
workbook.Save("date-validation.xlsx");
ใช้การตรวจสอบตามฟอร์มูลล่าใน Excel โดยใช้ C#
บางครั้ง, แบบเลื่อนง่าย ๆ หรือช่วงหมายเลขที่กำหนดไม่เพียงพอ โดยเฉพาะเมื่อกฎของคุณขึ้นอยู่กับค่าต่าง ๆ ในเซลล์อื่น ด้วยการตรวจสอบความถูกต้องบนพื้นฐานของสูตร คุณสามารถกำหนดกฎที่กำหนดเองโดยใช้สูตรในสไตล์ Excel กฎเหล่านี้สามารถอ้างอิงเซลล์อื่น ๆ และประเมินแบบไดนามิกว่าข้อมูลที่ป้อนถูกต้องหรือไม่ ตัวอย่างเช่น คุณอาจต้องการให้แน่ใจว่าค่าที่อยู่ในเซลล์ B1 มีค่ามากกว่าค่าที่อยู่ใน A1 เสมอ ซึ่งเป็นสถานการณ์ที่พบได้ทั่วไปในเปรียบเทียบราคา แผ่นคะแนน หรือลำดับวันที่
Aspose.Cells for .NET รองรับฟีเจอร์นี้อย่างสมบูรณ์และให้คุณกำหนดการตรวจสอบโดยใช้สูตรที่กำหนดเองเหมือนใน Excel.
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการใช้การตรวจสอบตามฟอร์มูล่าใน Excel โดยใช้ C#
using Aspose.Cells;
// สร้างสมุดงาน Excel ใหม่
var workbook = new Workbook();
// เข้าถึงแผ่นงานแรกในสมุดงาน
var sheet = workbook.Worksheets[0];
// กำหนดพื้นที่เซลล์สำหรับการตรวจสอบ — B1 (แถว 0, คอลัมน์ 1)
var area = new CellArea
{
StartRow = 0,
EndRow = 0,
StartColumn = 1,
EndColumn = 1
};
// เข้าถึงคอลเลกชันการตรวจสอบข้อบกพร่องในแผ่นงาน
var validations = sheet.Validations;
// เพิ่มการตรวจสอบใหม่ลงในคอลเลกชันและรับดัชนีของมัน
int index = validations.Add(area);
// ดึงวัตถุการตรวจสอบโดยดัชนี
var validation = validations[index];
// ตั้งค่าประเภทการตรวจสอบเป็นแบบกำหนดเอง (ใช้สำหรับกฎที่ใช้สูตร)
validation.Type = ValidationType.Custom;
// ตั้งสูตรกำหนดเอง: B1 ต้องมากกว่า A1
validation.Formula1 = "=B1>A1";
// กำหนดข้อความแสดงข้อผิดพลาดเมื่อการตรวจสอบล้มเหลว
validation.ErrorMessage = "Value in B1 must be greater than A1.";
// เปิดใช้งานการแสดงการแจ้งเตือนข้อผิดพลาดเมื่อมีการป้อนข้อมูลที่ไม่ถูกต้อง
validation.ShowError = true;
// เพิ่มพื้นที่อย่างชัดเจนเพื่อให้แน่ใจว่ามีการครอบคลุมโดยการตรวจสอบความถูกต้อง
validation.AddArea(area);
// บันทึกสมุดงานไปยังเส้นทางไฟล์ที่ระบุ
workbook.Save("formula-validation.xlsx");
กำหนดค่า ข้อความนำเข้าและข้อผิดพลาดใน Excel โดยใช้ C#
การใช้การตรวจสอบข้อมูลเป็นเพียงส่วนหนึ่งของวิธีแก้ปัญหา การแนะนำผู้ใช้เมื่อพวกเขาใส่ข้อมูลที่ไม่ถูกต้องก็มีความสำคัญเช่นกัน และนั่นคือจุดที่การแจ้งเตือนและข้อความที่กำหนดเองมีบทบาทสำคัญ
Aspose.Cells for .NET ช่วยให้คุณตั้งค่าข้อความนำเข้าและการแจ้งเตือนข้อผิดพลาดที่มีประโยชน์ซึ่งปรากฏขึ้นเมื่อผู้ใช้เลือกเซลล์หรือป้อนข้อมูลที่ไม่ถูกต้อง ข้อความเหล่านี้ช่วยปรับปรุงประสบการณ์ของผู้ใช้ ลดความสับสน และทำให้เทมเพลต Excel ของคุณดูเป็นมืออาชีพมากขึ้น
สำหรับตัวอย่าง เมื่อผู้ใช้คลิกเข้าสู่เซลล์ คุณสามารถแสดงทูลทิปเช่น
`อนุญาตให้มีค่าเพียง 1 ถึง 100 เท่านั้น”
และถ้าพวกเขาใส่ค่าที่ไม่ถูกต้อง Excel สามารถแสดงกล่องสนทนาที่พูดว่า:
`ข้อมูลเข้าผิด: กรุณาใส่หมายเลขระหว่าง 1 ถึง 100.”
คุณยังสามารถกำหนดค่าความตรงต่อข้อผิดพลาดของ Excel ได้โดยเลือกว่าจะบล็อกผู้ใช้ทั้งหมด (Stop
), อนุญาตให้พวกเขาดำเนินการต่อพร้อมคำเตือน (Warning
), หรือเพียงแค่แสดงข้อความข้อมูล (Information
)。
ทำตามขั้นตอนเหล่านี้เพื่อกำหนดค่าการแจ้งเตือนการตรวจสอบด้วย C#:
- หลังจากตั้งค่ากฎการตรวจสอบความถูกต้องแล้ว ให้ตั้งค่า
InputTitle
และInputMessage
เพื่อแสดงข้อความช่วยเหลือเมื่อผู้ใช้เลือกเซลล์ - กำหนด
ErrorTitle
และErrorMessage
เพื่ออธิบายว่ามีอะไรผิดพลาดหากการตรวจสอบความถูกต้องล้มเหลว - เลือก
AlertStyle
— ตัวเลือก ได้แก่Stop
,Warning
และInformation
- ตั้งค่า
ShowError
เป็นtrue
เพื่อเปิดใช้งานการแจ้งเตือนการตรวจสอบข้อผิดพลาด. - บันทึกสมุดงาน。
การแจ้งเตือนเหล่านี้ทำให้สเปรดชีตของคุณเข้าใจง่ายและใช้งานสะดวกยิ่งขึ้น โดยเฉพาะเมื่อคุณกำลังสร้างเทมเพลตให้ผู้อื่นใช้งานหรือใช้งานซ้ำบ่อยครั้ง
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
// กำหนดพื้นที่การตรวจสอบ — ใช้กับเซลล์ C1
var area = new CellArea
{
StartRow = 0,
EndRow = 0,
StartColumn = 2, // Column C = 2
EndColumn = 2
};
// เพิ่มการตรวจสอบความถูกต้อง
int index = sheet.Validations.Add(area);
var validation = sheet.Validations[index];
validation.Type = ValidationType.Custom;
// สูตรนี้จะประเมินผลเป็น FALSE เสมอ
validation.Formula1 = "=FALSE";
// ตั้งค่าข้อความนำเข้าและข้อความแสดงข้อผิดพลาด
validation.InputTitle = "Input Restricted";
validation.InputMessage = "Try entering anything to see the validation.";
validation.ErrorTitle = "Invalid Input";
validation.ErrorMessage = "You triggered this validation error successfully!";
validation.AlertStyle = ValidationAlertType.Stop;
validation.ShowError = true;
validation.ShowInput = true;
// ดำเนินการตรวจสอบความถูกต้องกับพื้นที่
validation.AddArea(area);
// บันทึกสมุดงานที่ได้รับการตรวจสอบแล้ว
workbook.Save("D:\\Files\\validated_with_alerts.xlsx");
พวกเขาแจ้งเตือนช่วยเพิ่มความสามารถในการใช้งานและชี้แนะผู้ใช้อย่างชัดเจนเกี่ยวกับสิ่งที่ต้องกรอก

กำหนดการป้อนข้อมูลและข้อความแสดงข้อผิดพลาดใน Excel โดยใช้ C#
ทดลองใช้งานฟรี
รับ ใบอนุญาตชั่วคราวฟรี เพื่อลองใช้ความสามารถทั้งหมดของ Aspose.Cells for .NET โดยไม่มีข้อจำกัดในฟีเจอร์
แหล่งข้อมูลฟรี
สำรวจเพิ่มเติมเกี่ยวกับการทำงานอัตโนมัติของ Excel และการตรวจสอบโดยใช้แหล่งข้อมูลเหล่านี้:
ข้อสรุป
ในบทความนี้ เราได้แสดงวิธีการใช้การตรวจสอบข้อมูลใน Excel โดยใช้ C# กับ Aspose.Cells for .NET ตั้งแต่รายการแบบเลื่อนลงไปจนถึงสูตรที่กำหนดเอง คุณสามารถสร้างสเปรดชีตที่ชาญฉลาดและปราศจากข้อผิดพลาดโดยไม่ต้องพึ่งพา Excel เอง
หากคุณมีคำถามหรือข้อเสนอแนะใด ๆ โปรดอย่าลังเลที่จะโพสต์ใน ฟอรัมสนับสนุนฟรี ของเรา เราพร้อมที่จะช่วยเหลือ!