我對編程非常陌生,但是對於C#的大多數方面,我已經找到了解決方法。但是,我並沒有在網上找到關於這方面的信息,而今天我更加喋喋不休。我剛收到程序的整個電子郵件部分,當我被告知我無法使用數據庫來獲取電子郵件地址時,我不得不使用Excel文檔。我必須使用Excel文檔如何在不打開它的情況下解析xlsm文件
我需要讀取xlsm並將用戶名與電子郵件抓住當前用戶的電子郵件地址。我已經有用戶名了,但沒有找到很多在線幫助xlsm專門。下面是我試過的幾個例子:
這是一個理想的選擇,因爲我喜歡我的代碼儘可能短而且甜美。但是當我嘗試運行它時,我得到'根級別的數據無效。 1號線,位置1。我猜它與使用XDocument有關。這就是我如何被解析XML文件,所以我可能有此錯誤的類,但同樣還沒有發現太多的XLSM所以我不知道,即使下載後用什麼
string[] arr = XDocument.Load(@"C:\example.xlsm").Descendants("Login name" + "Email").Select(element => element.Value).ToArray();
這一個OpenXMLSDKV25,它不會找到'DocumentFormat'並且文件名已被使用[const string fileName],但是如果我將其更改爲fileName2,則表示不是所有代碼路徑都會返回值。
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
using Excel = Microsoft.Office.Interop.Excel;
public static string GetCellValue(string fileName, string sheetName, string addressName)
{
const string fileName = @"C:\example.xlsm";
// Retrieve the value in cell A1.
string value = GetCellValue(fileName, "Sheet1", "C2");
Console.WriteLine(value);
// Retrieve the date value in cell A2.
value = GetCellValue(fileName, "Sheet1", "F2");
Console.WriteLine(DateTime.FromOADate(double.Parse(value)).ToShortDateString());
}
這一個犯規像工作簿[ 「Sheet 1中」] - 無法應用用[]索引,以類型的表達式 'Microsoft.Office.Interop.Excel.Workbook'
using Excel = Microsoft.Office.Interop.Excel;
//Excel.Application excel = new Excel.Application();
//Excel.Workbook workbook = excel.Workbooks.Open("example.xlsm");
//Excel.Worksheet worksheet = workbook["Sheet1"] as Excel.Worksheet;
//string someData = (worksheet.Range["C2"] as Excel.Range).Value.ToString();
//worksheet = null;
//workbook.Close();
//excel.Quit();
任何幫助將apprciated!
編譯器說,沒有'所有路徑GetCellValue'返回一個值,因爲你不'return'一它的價值。 – ClickRick