CPF/CPF.ReoGrid/IO/ReoGridFileFormatProvider.cs
2024-06-24 10:15:59 +08:00

40 lines
926 B
C#

using System;
using System.IO;
using System.Text;
namespace CPF.ReoGrid.IO
{
internal class ReoGridFileFormatProvider : IFileFormatProvider
{
public bool IsValidFormat(string file)
{
return Path.GetExtension(file).Equals(".rgf", StringComparison.CurrentCultureIgnoreCase);
}
public void Load(IWorkbook workbook, Stream stream, Encoding encoding, object arg)
{
bool flag = workbook.Worksheets.Count == 0;
Worksheet worksheet;
if (flag)
{
worksheet = workbook.CreateWorksheet("Sheet1");
workbook.Worksheets.Add(worksheet);
}
else
{
worksheet = workbook.Worksheets[0];
}
worksheet.LoadRGF(stream);
}
public void Save(IWorkbook workbook, Stream stream, Encoding encoding, object arg)
{
bool flag = workbook.Worksheets == null || workbook.Worksheets.Count <= 0;
if (!flag)
{
workbook.Worksheets[0].Save(stream, FileFormat.ReoGridFormat);
}
}
}
}