Конвертирование Excel в RTF в памяти на 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 RTF in memory
ExcelToPdf x = new ExcelToPdf();
// Set RTF as output format.
x.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Rtf;
// Let's create trace file.
x.CreateTraceFile = true;
x.TraceFilePath = Path.GetFullPath(@"..\..\..\trace.txt");
string excelFile = Path.GetFullPath(@"..\..\..\test.xlsx");
string rtfFile = Path.ChangeExtension(excelFile, ".rtf"); ;
byte[] excelBytes = File.ReadAllBytes(excelFile);
byte[] rtfBytes = null;
try
{
rtfBytes = x.ConvertBytes(excelBytes);
// Save rtfBytes to a file for demonstration purposes.
File.WriteAllBytes(rtfFile, rtfBytes);
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(rtfFile) { 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 RTF in memory
ExcelToPdf x = new ExcelToPdf();
// Set RTF as output format.
x.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Rtf;
// Let's create trace file.
x.CreateTraceFile = true;
x.TraceFilePath = Path.GetFullPath(@"..\..\..\trace.txt");
string excelFile = Path.GetFullPath(@"..\..\..\test.xlsx");
string rtfFile = Path.ChangeExtension(excelFile, ".rtf");
byte[] rtfBytes = null;
try
{
// Let us say, we have a memory stream with Excel data.
using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(excelFile)))
{
rtfBytes = x.ConvertBytes(ms.ToArray());
}
// Save rtfBytes to a file for demonstration purposes.
File.WriteAllBytes(rtfFile, rtfBytes);
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(rtfFile) { 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 RTF in memory
Dim x As New ExcelToPdf()
' Set RTF as output format.
x.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Rtf
' Let's create trace file.
x.CreateTraceFile = True
x.TraceFilePath = Path.GetFullPath("..\..\..\trace.txt")
Dim excelFile As String = Path.GetFullPath("..\..\..\test.xlsx")
Dim rtfFile As String = Path.ChangeExtension(excelFile, ".rtf")
Dim excelBytes() As Byte = File.ReadAllBytes(excelFile)
Dim rtfBytes() As Byte = Nothing
Try
rtfBytes = x.ConvertBytes(excelBytes)
' Save rtfBytes to a file for demonstration purposes.
File.WriteAllBytes(rtfFile, rtfBytes)
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(rtfFile) 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 RTF in memory
Dim x As New ExcelToPdf()
' Set RTF as output format.
x.OutputFormat = SautinSoft.ExcelToPdf.eOutputFormat.Rtf
' Let's create trace file.
x.CreateTraceFile = True
x.TraceFilePath = Path.GetFullPath("..\..\..\trace.txt")
Dim excelFile As String = Path.GetFullPath("..\..\..\test.xlsx")
Dim rtfFile As String = Path.ChangeExtension(excelFile, ".rtf")
Dim rtfBytes() As Byte = Nothing
Try
' Let us say, we have a memory stream with Excel data.
Using ms As New MemoryStream(File.ReadAllBytes(excelFile))
rtfBytes = x.ConvertBytes(ms.ToArray())
End Using
' Save rtfBytes to a file for demonstration purposes.
File.WriteAllBytes(rtfFile, rtfBytes)
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(rtfFile) With {.UseShellExecute = True})
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.ReadLine()
End Try
End Sub
End Module
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу [email protected] или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: