Форматирование потеряно во время преобразования xls в xlsx без использования офисного компонента - PullRequest
0 голосов
/ 21 сентября 2018

Я пытался преобразовать файл .xls в .xlsx, не имея зависимости от компонента Office.Я следовал за c-sharp-convert-xls-file-to-xlsx-без-офис-компонентов

Он преобразует файл из xls в xlsx, но все форматирование теряется.Я пробовал другие библиотеки, такие как Spire.XLS, NPOI и т. Д. Но ни одна не может сделать точную копию .xls в .xlsx.Пожалуйста, помогите мне с форматированием.Ниже приведен код по ссылке, которую я использовал для конвертации:

XLWorkbook workbook = new XLWorkbook();
        DataSet ds = new DataSet();

        string connectionString = GetConnectionString();

        using (OleDbConnection conn = new OleDbConnection(connectionString))
        {
            conn.Open();
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = conn;

            // Get all Sheets in Excel File
            DataTable dtSheet = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

            // Loop through all Sheets to get data
            foreach (DataRow dr in dtSheet.Rows)
            {
                string sheetName = dr["TABLE_NAME"].ToString();

                if (!sheetName.EndsWith("$"))
                    continue;

                // Get all rows from the Sheet
                cmd.CommandText = "SELECT * FROM [" + sheetName + "]";

                DataTable dt = new DataTable();
                dt.TableName = sheetName;

                OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                da.Fill(dt);

                ds.Tables.Add(dt);
            }

            cmd = null;
            conn.Close();
        }

        workbook.AddWorksheet(ds);
return ds;
...