#c# #ms-word #openxml-sdk
#c# #ms-word #openxml-sdk
Вопрос:
Я использую c # и open xml sdk 2.0 для доступа к файлу Word.
Для этого теперь я хочу получить главу и абзац на основе заданного текста.
Если глава содержит мой текст, извлеките абзац, содержащий этот текст…
FOR EXAMPLE: Given Word is: Chapter 1 - Events
Извлеките главу и параграфы, содержащие слово "Chapter 1 - Events"
Я хочу выполнить поиск по заданному слову в файле Word.
Если найдены какие-либо совпадения, я хочу отобразить эти методы и вставить в базу данных в соответствии с этой схемой
Если совпадения не найдены, нет необходимости получать абзац.
Как мне это сделать?
ошибка с кодом (теперь возврат при отладке Visual Studio пуст)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
public partial class Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string file = @"C:Usersfile.docx";
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(file, true))
{
Body body = wordDoc.MainDocumentPart.Document.Body;
string paras = "";
foreach (Paragraph p in wordDoc.MainDocumentPart.Document.Body.Descendants<Paragraph>().Where<Paragraph>(p => p.InnerText.Contains("Chapter [0-9]{1;} ")))
{
paras = p.InnerText "<br/>";
}
Response.Write(paras);
}
}
}
}
file.docx
Chapter 1 - Events
- alert or disservices
Lorem ipsum dolor sit amet, consectetur adipiscing elit
….
….
- significant activities
Phasellus dui nunc, rutrum vitae dictum eleifend, ullamcorper hendrerit sem
….
….
Chapter 2 – Safety
- near miss
Praesent venenatis convallis nunc, quis ultrices massa
….
….
- security checks
Phasellus mollis dapibus porta. Phasellus ac tristique dui
….
….
Chapter 3 – Training
- environment
Nunc hendrerit scelerisque mauris vel eleifend
….
….
- upkeep
Mauris id elit nec nisl laoreet posuere. Donec ac molestie sem
….
….
таблица базы данных
DROP TABLE IF EXISTS `chapters`;
CREATE TABLE `chapters` (
`chapter` longtext CHARACTER SET utf8 COLLATE utf8_general_ci,
`subheading` longtext CHARACTER SET utf8 COLLATE utf8_general_ci,
`contents` longtext CHARACTER SET utf8 COLLATE utf8_general_ci,
`sID` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`sID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;