Как записать имя рабочей книги в файл .xls? - PullRequest
0 голосов
/ 02 февраля 2012

Пример файла ниже:

enter image description here

Я хочу захватить «Клиентов» (выделено) как string.

Как мне добиться этого в ASP.NET/C#?

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Вы можете использовать OleDbConnection.GetOleDbSchemaTable метод.

 connection.Open();
        DataTable schemaTable = connection.GetOleDbSchemaTable(
            OleDbSchemaGuid.Tables,
            new object[] { null, null, null, "TABLE" });
 foreach (DataRow row in schemaTable.Rows )
  {
     Console.WriteLine(row["TABLE_NAME"]);
   }
1 голос
/ 02 февраля 2012
    public static List<string> GetSheetNames(string PathToExcelFile)
    {
        List<string> SheetNameList = new List<string>();

        System.Data.DataTable SchemaTable;

        string OleConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathToExcelFile + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\"";

        using (System.Data.OleDb.OleDbConnection OleConnection = new System.Data.OleDb.OleDbConnection(OleConnectionString))
        {
            OleConnection.Open();
            SchemaTable = OleConnection.GetSchema("Tables");
            OleConnection.Close();
        }
        foreach (System.Data.DataRow SchemaRow in SchemaTable.Rows)
        {
            SheetNameList.Add(SchemaRow["TABLE_NAME"].ToString().TrimEnd('$'));
        }

        return SheetNameList;
    }
...