جستجوی فایلهای اسناد Word با سی شارپ
جستجوی فایلهای Word در یک سیستم میتواند به دلایل مختلفی انجام شود. در اینجا، ما به بررسی چگونگی پیادهسازی یک جستجوی ساده برای اسناد Word با استفاده از زبان برنامهنویسی سی شارپ خواهیم پرداخت.
معرفی
برای شروع، نیاز به استفاده از کتابخانههایی داریم که به ما اجازه میدهند با فایلهای Word کار کنیم. یکی از کتابخانههای معروف برای این کار، `DocumentFormat.OpenXml` است. این کتابخانه به ما امکان میدهد تا با فرمتهای مختلف اسناد Word کار کنیم.
نصب کتابخانه
برای نصب این کتابخانه، میتوانید از NuGet Package Manager استفاده کنید. دستور زیر را وارد کنید:
```
Install-Package DocumentFormat.OpenXml
```
کد جستجو
حالا بیایید به کد جستجو بپردازیم. هدف ما این است که تمام فایلهای Word را در یک دایرکتوری خاص جستجو کنیم و سپس محتوای آنها را بررسی کنیم.
```csharp
using DocumentFormat.OpenXml.Packaging;
using System;
using System.IO;
using System.Linq;
class Program
{
static void Main(string[] args)
{
string directoryPath = @"C:\Path\To\Your\Documents";
string searchTerm = "کلمه مورد جستجو";
var files = Directory.GetFiles(directoryPath, "*.docx", SearchOption.AllDirectories);
foreach (var file in files)
{
if (ContainsSearchTerm(file, searchTerm))
{
Console.WriteLine($"فایل پیدا شد: {file}");
}
}
}
static bool ContainsSearchTerm(string filePath, string searchTerm)
{
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(filePath, false))
{
var body = wordDoc.MainDocumentPart.Document.Body;
return body.InnerText.Contains(searchTerm);
}
}
}
```
توضیحات کد
- وارد کردن کتابخانهها: ابتدا نیاز داریم تا کتابخانههای لازم را وارد کنیم.
- تنظیم مسیر دایرکتوری: در اینجا، مسیر دایرکتوری را که میخواهیم جستجو کنیم، مشخص میکنیم.
- جستجوی فایلها: با استفاده از متد `GetFiles`، تمام فایلهای `.docx` را در دایرکتوری مشخص شده جستجو میکنیم.
- بررسی محتوا: با استفاده از متد `ContainsSearchTerm`، هر فایل را بررسی میکنیم تا ببینیم آیا شامل کلمه مورد نظر است یا نه.
نتیجهگیری
این کد ساده به شما کمک میکند تا فایلهای Word را بر اساس کلمات کلیدی مشخص شده جستجو کنید. با این حال، میتوانید به راحتی این کد را گسترش دهید و قابلیتهای بیشتری به آن اضافه کنید. به یاد داشته باشید که رعایت مسائل امنیتی و مدیریت استثناها نیز مهم است.