一、需要引用DocX類庫文件,可以直接在NuGet中找到。
二、創建文件,並添加一張表格
public static string fileName = AppDomain.CurrentDomain.BaseDirectory + "youziku-5.doc";
public static bool ExistsFile()
{
try
{
if (File.Exists(fileName)) return true;
//創建文件
File.Create(fileName).Close();
using (var document = DocX.Create(fileName))
{
//創建一個1行3列的表格
var table = document.AddTable(1, 3);
table.Design = TableDesign.LightList;//邊框
table.Alignment = Alignment.center;
table.Rows[0].Cells[0].Paragraphs[0].Append("字體名稱");
table.Rows[0].Cells[1].Paragraphs[0].Append("字體效果");
table.Rows[0].Cells[2].Paragraphs[0].Append("字體廠商");
var p1 = document.InsertParagraph();
p1.InsertTableAfterSelf(table);
// 保存當前文檔
document.Save();
}
return true;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
}
三、向表格中追加數據
public static string Set(string fontName, string fontCompany)
{
try
{
//如果不存在文件則創建
var result = ExistsFile();
if (!result) return TAjaxCallBack.ERROR;
using (var document = DocX.Load(fileName))
{
var imgpath = AppDomain.CurrentDomain.BaseDirectory + "123.png";
// 將圖像添加到文檔中。
var image = document.AddImage(imgpath);
var picture = image.CreatePicture();
var table = document.Tables[0];
var count = table.RowCount;
table.InsertRow();
table.Rows[count].Cells[0].Paragraphs[0].Append(fontName);
table.Rows[count].Cells[1].Paragraphs[0].AppendPicture(picture);
table.Rows[count].Cells[2].Paragraphs[0].Append(fontCompany);
document.Save();
}
return TAjaxCallBack.OK;
}
catch (Exception e)
{
Console.WriteLine(e);
return TAjaxCallBack.ERROR;
}
}
四、查詢及刪除
public void Set() { try { using (var document = DocX.Load(path)) { //獲取表格 var table = document.Tables[0] as Table; //總條數 var count = table.RowCount; //查詢列表中的數據 foreach (var item in table.Rows) { var str1 = item.Cells[0].Paragraphs[0].Text; var str2 = item.Cells[1].Paragraphs[0].Text; var str3 = item.Cells[2].Paragraphs[0].Text; } //獲取其中的一條數據 var tableItem = table.Rows.FirstOrDefault(a => a.Cells[0].Paragraphs[0].Text == "書體坊向佳紅毛筆行書"); var p = tableItem?.Cells[0].Paragraphs[0].Text; //刪除數據 table.Rows.RemoveAt(1); document.Save(); } } catch (Exception e) { Console.WriteLine(e); } }
更多關於操作docx文件:https://blog.csdn.net/Eiceblue/article/details/78409116
