yipeng-yu

 

public Dictionary<string, string> GetWordTableContent(object fullname, int tableIndex)
        {
            Microsoft.Office.Interop.Word.Application wordApp = new
              Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document doc = new
                Microsoft.Office.Interop.Word.Document();
            object missing = System.Reflection.Missing.Value;

            Dictionary<string, string> tableItems = new Dictionary<string, string>();

            try
            {
                wordApp.Visible = false;

                doc = wordApp.Documents.Open(ref fullname, ref missing,
                       ref missing, ref missing, ref missing, ref missing, ref missing,
                       ref missing, ref missing, ref missing, ref missing, ref missing,
                       ref missing, ref missing, ref missing, ref missing);

                if (doc.Content.Tables.Count > 0)
                {
                    if (tableIndex <= 0 || tableIndex > doc.Content.Tables.Count)
                        throw new Exception("Incorrect tableIndex.");

                    Microsoft.Office.Interop.Word.Table table = doc.Content.Tables[tableIndex];

                    for (int i = 1; i <= table.Rows.Count; i++)
                    {
                        for (int c = 1; c <= table.Columns.Count; c++)
                        {
                            try
                            {
                                tableItems.Add(string.Format("{0},{1}", i, c), table.Cell(i, c).Range.Text ?? "");
                            }
                            catch (COMException comEx)
                            {
                                if (comEx.Message == "The requested member of the collection does not exist.")
                                    continue;
                                throw;
                            }
                        }
                    }
                }
            }
            catch (Exception err)
            {
                if (doc != null)
                    doc.Close(ref missing, ref missing, ref missing);
                if (wordApp != null)
                    wordApp.Quit(ref missing, ref missing, ref missing);
                throw;
            }
            finally
            {
                if (doc != null)
                    doc.Close(ref missing, ref missing, ref missing);
                if (wordApp != null)
                    wordApp.Quit(ref missing, ref missing, ref missing);
            }
            return tableItems;
        }

 

分类:

技术点:

相关文章:

  • 2021-12-19
  • 2021-08-28
  • 2021-04-19
  • 2021-05-21
  • 2021-12-28
  • 2021-12-23
  • 2022-01-03
  • 2022-02-20
猜你喜欢
  • 2021-09-03
  • 2021-11-19
  • 2022-01-20
  • 2021-12-19
  • 2021-04-30
  • 2021-05-19
  • 2021-11-30
相关资源
相似解决方案