C# экспорт больших табличных данных на несколько листов excel
у меня есть 2 000 000 записей в моей таблице, и excel не принимает более 1 040 000 записей, что мне делать ?????????
я использую этот код
<pre>public void DumpTableToFile(SqlConnection connection, string tableName, string destinationFile) { using (var command = new SqlCommand("select * from tabl", connection)) { using (var reader = command.ExecuteReader()) { using (StreamWriter sw = new StreamWriter(File.Open(destinationFile, FileMode.Create), Encoding.UTF8)) { string[] columnNames = GetColumnNames(reader).ToArray(); int numFields = columnNames.Length; sw.WriteLine(string.Join(",", columnNames)); // writing headers if (reader.HasRows) { while (reader.Read()) { string[] columnValues = Enumerable.Range(0, numFields) .Select(i => reader.GetValue(i).ToString()) .Select(field => string.Concat("\"", field.Replace("\"", "\"\""), "\"")) .ToArray(); sw.WriteLine(string.Join(",", columnValues)); } } } } } } private IEnumerable<string> GetColumnNames(IDataReader reader) { foreach (DataRow row in reader.GetSchemaTable().Rows) { yield return (string)row["ColumnName"]; } } private void Button5_Click(object sender, EventArgs e) { SqlConnection _connection = new SqlConnection(); SqlDataAdapter _dataAdapter = new SqlDataAdapter(); SqlCommand _command = new SqlCommand(); DataTable _dataTable = new DataTable(); _connection = new SqlConnection(); _dataAdapter = new SqlDataAdapter(); _command = new SqlCommand(); _dataTable = new DataTable(); //dbk is my database name that you can change it to your database name _connection.ConnectionString = "connaction"; _connection.Open(); SaveFileDialog saveFileDialogCSV = new SaveFileDialog(); saveFileDialogCSV.InitialDirectory = Application.ExecutablePath.ToString(); saveFileDialogCSV.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*"; saveFileDialogCSV.FilterIndex = 1; saveFileDialogCSV.RestoreDirectory = true; string path_csv = ""; if (saveFileDialogCSV.ShowDialog() == DialogResult.OK) { // Runs the export operation if the given filenam is valid. path_csv = saveFileDialogCSV.FileName.ToString(); } DumpTableToFile(_connection, "tbl_trmc", path_csv); } }
Что я уже пробовал:
я искал его но не нашел ничего что могло бы мне помочь
Richard MacCutchan
Очевидный ответ: не экспортируйте так много записей. Не думайте, что одно приложение будет иметь ту же емкость, что и другое.
Gerry Schmitz
И что Excel собирается сделать для вас с этими "2 000 000" записей?
"Бизнес-аналитика" (BI) требует наличия интеллекта.
Посмотрите на (MS) BI для рабочего стола.