Экспорт в Excel в обычном текстовом формате - PullRequest
0 голосов
/ 30 мая 2018

В настоящее время я пишу систему, которая включает чтение в файлах Excel.Я хочу прочитать в этом файле Excel и, возможно, выбросить его в CSV.Однако проблема, с которой я сталкиваюсь, заключается в том, что он сохраняет формат, который использует Excel.Например, у меня есть длинный номер, который в Excel отображается как 3.9151 + E15, и он читает его следующим образом.Когда я выделяю ячейку в Excel, она показывает реальное число «3915100000026840».Это номер, который я хочу получить.Это также добавляет временную метку к датам, которые я не хочу.Это добавляет 00:00 00: 00: 000 или что-то похожее на 17/05/2018, и это все, что я хочу.В общем, я хочу получить реальные текстовые значения из этой таблицы Excel.

Код, который у меня есть на данный момент:

    public static DataTable READExcel(string path)
    {
        Microsoft.Office.Interop.Excel.Application objXL = null;
        Microsoft.Office.Interop.Excel.Workbook objWB = null;
        objXL = new Microsoft.Office.Interop.Excel.Application();
        objWB = objXL.Workbooks.Open(path);
        Microsoft.Office.Interop.Excel.Worksheet objSHT = objWB.Worksheets[1];

        int rows = objSHT.UsedRange.Rows.Count;
        int cols = objSHT.UsedRange.Columns.Count;
        DataTable dt = new DataTable();
        int noofrow = 1;

        for (int c = 1; c <= cols; c++)
        {
            string colname = objSHT.Cells[1, c].Value.ToString();
            dt.Columns.Add(colname);
            noofrow = 2;
        }

        for (int r = noofrow; r <= rows; r++)
        {
            DataRow dr = dt.NewRow();
            for (int c = 1; c <= cols; c++)
            {
                dr[c - 1] = objSHT.Cells[r, c].Value.ToString();
            }

            dt.Rows.Add(dr);
        }

        objWB.Close();
        objXL.Quit();
        return dt;
    }

(Также другой вопрос, который немного связан, но немного несвязанный, у меня был CSV для запуска, который имел значение «0003915100000026845». Когда я превратил этот CSV в файл Excel, он изменил его на значение, на которое я ссылаюсь выше. Excel запомнит эти лидирующие нули где-нибудь или нет?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...