Конвертирование Excel в DOCX в памяти на C# и .NET
Полный код
using System;
using System.IO;
using SautinSoft;
namespace Sample
{
class Sample
{
static void Main(string[] args)
{
ConvertExcelAsByteArray();
//ConvertExcelAsMemoryStream();
}
public static void ConvertExcelAsByteArray()
{
// Before starting, we recommend to get a free 100-day key:
// https://sautinsoft.com/start-for-free/
// Apply the key here:
// SautinSoft.ExcelToPdf.SetLicense("...");
// Convert Excel to DOCX in memory
ExcelToPdf x = new ExcelToPdf();
// Set DOCX as output format.
x.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Docx;
string excelFile = Path.GetFullPath(@"..\..\..\test.xlsx");
string docxFile = Path.ChangeExtension(excelFile, ".docx"); ;
byte[] excelBytes = File.ReadAllBytes(excelFile);
byte[] docxBytes = null;
try
{
docxBytes = x.ConvertBytes(excelBytes);
// Save docxBytes to a file for demonstration purposes.
File.WriteAllBytes(docxFile, docxBytes);
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(docxFile) { UseShellExecute = true });
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
public static void ConvertExcelAsMemoryStream()
{
// Before starting, we recommend to get a free 100-day key:
// https://sautinsoft.com/start-for-free/
// Apply the key here:
// SautinSoft.ExcelToPdf.SetLicense("...");
// Convert Excel to DOCX in memory
ExcelToPdf x = new ExcelToPdf();
// Set DOCX as output format.
x.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Docx;
string excelFile = Path.GetFullPath(@"..\..\..\test.xlsx");
string docxFile = Path.ChangeExtension(excelFile, ".docx");
byte[] docxBytes = null;
try
{
// Let us say, we have a memory stream with Excel data.
using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(excelFile)))
{
docxBytes = x.ConvertBytes(ms.ToArray());
}
// Save docxBytes to a file for demonstration purposes.
File.WriteAllBytes(docxFile, docxBytes);
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(docxFile) { UseShellExecute = true });
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
}
}
Imports System
Imports System.IO
Imports SautinSoft
Module Sample
Sub Main()
ConvertExcelAsByteArray()
'ConvertExcelAsMemoryStream()
End Sub
Public Sub ConvertExcelAsByteArray()
' Before starting, we recommend to get a free 100-day key:
' https://sautinsoft.com/start-for-free/
' Apply the key here:
' SautinSoft.ExcelToPdf.SetLicense("...");
' Convert Excel to DOCX in memory
Dim x As New ExcelToPdf()
' Set DOCX as output format.
x.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Docx
Dim excelFile As String = Path.GetFullPath("..\..\..\test.xlsx")
Dim docxFile As String = Path.ChangeExtension(excelFile, ".docx")
Dim excelBytes() As Byte = File.ReadAllBytes(excelFile)
Dim docxBytes() As Byte = Nothing
Try
docxBytes = x.ConvertBytes(excelBytes)
' Save docxBytes to a file for demonstration purposes.
File.WriteAllBytes(docxFile, docxBytes)
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(docxFile) With {.UseShellExecute = True})
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.ReadLine()
End Try
End Sub
Public Sub ConvertExcelAsMemoryStream()
' Before starting, we recommend to get a free 100-day key:
' https://sautinsoft.com/start-for-free/
' Apply the key here:
' SautinSoft.ExcelToPdf.SetLicense("...");
' Convert Excel to DOCX in memory
Dim x As New ExcelToPdf()
' Set DOCX as output format.
x.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Docx
Dim excelFile As String = Path.GetFullPath("..\..\..\test.xlsx")
Dim docxFile As String = Path.ChangeExtension(excelFile, ".docx")
Dim docxBytes() As Byte = Nothing
Try
' Let us say, we have a memory stream with Excel data.
Using ms As New MemoryStream(File.ReadAllBytes(excelFile))
docxBytes = x.ConvertBytes(ms.ToArray())
End Using
' Save docxBytes to a file for demonstration purposes.
File.WriteAllBytes(docxFile, docxBytes)
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(docxFile) With {.UseShellExecute = True})
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.ReadLine()
End Try
End Sub
End Module
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: