как преобразовать байтовые данные в формат excel
ПРИВЕТ,
Я храню файлы (word, excel, pdf) в sqlserver, и при загрузке файла мы используем приведенный ниже код:-
for (int i = 0; i < file.Tables[1].Rows.Count; i++) { Byte[] data = (Byte[])file.Tables[1].Rows[i]["FileBlob"]; string s = System.Text.UTF8Encoding.UTF8.GetString(data); Response.Write(s); byte[] bytearray = (data); System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); //Response.Write( encoding.GetString(bytearray)) ; string filename = file.Tables[1].Rows[i]["FileName"].ToString(); test.Text = filename + "<\br>"; string path = dir + "/" + filename; var file1 = new FileInfo(Path.Combine(dir.FullName, filename)); if (!file1.Exists) // you may not want to overwrite existing files { using (Stream stream = file1.OpenWrite()) using (StreamWriter writer = new StreamWriter(stream)) { writer.Write(encoding.GetString(bytearray); writer.Flush(); } } zip.AddFile(path, "Files"); } }
при записи байтовых данных в файл excel мы получаем поврежденный файл. когда мы используем приведенный ниже код:-
писатель.Запись (кодировка.Метода getString(объект ByteArray);
выше строка работает для текстового файла и может отображать данные в текстовом файле проблема заключается в word, excel и pdf-файле.