| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 | 
							- using Org.BouncyCastle.Asn1.Mozilla;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Drawing;
 
- using System.IO;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using InABox.Core;
 
- namespace InABox.Scripting
 
- {
 
-     public enum CellType
 
-     {
 
-         Formula,
 
-         Numeric,
 
-         Error,
 
-         String,
 
-         Boolean,
 
-         Blank,
 
-         Unknown,
 
-         Date
 
-     }
 
-     public class CellRange
 
-     {
 
-         public int FirstRow { get; set; }
 
-         public int LastRow { get; set; }
 
-         public int FirstColumn { get; set; }
 
-         public int LastColumn { get; set; }
 
-         public CellRange(int firstRow, int lastRow, int firstColumn, int lastColumn)
 
-         {
 
-             FirstRow = firstRow;
 
-             LastRow = lastRow;
 
-             FirstColumn = firstColumn;
 
-             LastColumn = lastColumn;
 
-         }
 
-     }
 
-     public interface IDataFormat {
 
-         public short FormatIndex { get; }
 
-     }
 
-     public enum UnderlineType
 
-     {
 
-         None,
 
-         Single,
 
-         Double,
 
-         SingleAccounting,
 
-         DoubleAccounting
 
-     }
 
-     public interface IFont
 
-     {
 
-         public bool Bold { get; set; }
 
-         public bool Italic { get; set; }
 
-         public UnderlineType Underline { get; set; }
 
-         public double FontSize { get; set; }
 
-         public Color Colour { get; }
 
-     }
 
-     public enum CellAlignment
 
-     {
 
-         Start,
 
-         Middle,
 
-         End,
 
-         Justify
 
-     }
 
-     public interface ICellStyle
 
-     {
 
-         public ISpreadsheet Spreadsheet { get; }
 
-         public IDataFormat DataFormat { get; set; }
 
-         public IFont Font { get; }
 
-         public Color Background { get; }
 
-         public Color Foreground { get; }
 
-         
 
-         public CellAlignment VerticalAlignment { get; }
 
-         
 
-         public CellAlignment HorizontalAlignment { get; }
 
-         
 
-         public bool WrapText { get; }
 
-         
 
-     }
 
-     public interface ISheet
 
-     {
 
-         public string Name { get; }
 
-         int FirstRow { get; }
 
-         int LastRow { get; }
 
-         ISpreadsheet Spreadsheet { get; }
 
-         IRow NewRow();
 
-         IRow? GetRow(int row);
 
-         /// <summary>
 
-         /// Sets the column width with a certain number of characters.
 
-         /// </summary>
 
-         /// <param name="column"></param>
 
-         /// <param name="charWidth"></param>
 
-         /// <returns></returns>
 
-         ISheet SetColumnWidth(int column, float charWidth);
 
-         /// <summary>
 
-         /// Gets the width of a column in characters. Returns float.MinValue if no width has been set.
 
-         /// </summary>
 
-         /// <param name="column"></param>
 
-         /// <returns></returns>
 
-         float GetColumnWidth(int column);
 
-         /// <summary>
 
-         /// Gets the height of a row in points.
 
-         /// </summary>
 
-         /// <param name="row"></param>
 
-         /// <returns></returns>
 
-         float GetRowHeight(int row);
 
-         float GetDefaultRowHeight();
 
-         ISheet MergeCells(int firstRow, int lastRow, int firstColumn, int lastColumn);
 
-         IEnumerable<CellRange> GetMergedCells();
 
-         IEnumerable<IRow> Rows();
 
-         IEnumerator<IRow> RowEnumerator();
 
-     }
 
-     public interface IRow
 
-     {
 
-         public int RowNumber { get; }
 
-         int FirstColumn { get; }
 
-         int LastColumn { get; }
 
-         ISheet Sheet { get; }
 
-         public ICell this[int column]
 
-         {
 
-             get { return GetCell(column); }
 
-         }
 
-         public string ExtractString(int column, bool uppercase = false);
 
-         public DateTime ExtractDateTime(int column);
 
-         public double? ExtractDouble(int column);
 
-         public int GetColumn(string name, bool throwException = true);
 
-         public ICell? GetCell(int column);
 
-         public ICell NewCell(int column);
 
-         public IEnumerable<ICell> Cells();
 
-     }
 
-     public interface ICell
 
-     {
 
-         IRow Row { get; }
 
-         CellType GetCellType();
 
-         string GetValue();
 
-         bool? GetBoolValue();
 
-         double? GetDoubleValue();
 
-         DateTime GetDateTimeValue();
 
-         byte? GetByteValue();
 
-         ICell SetValue(bool value);
 
-         ICell SetValue(string value);
 
-         ICell SetValue(double value);
 
-         ICell SetValue(DateTime value);
 
-         ICell SetValue(byte value);
 
-         ICell SetBlank();
 
-         ICellStyle GetStyle();
 
-         ICell SetStyle(ICellStyle style);
 
-     }
 
-     public interface ISpreadsheet
 
-     {
 
-         public ISheet GetSheet(int index);
 
-         public ISheet GetSheet(string name);
 
-         /// <summary>
 
-         /// Make a new sheet and add it to the spreadsheet
 
-         /// </summary>
 
-         /// <param name="name">The name of the new sheet</param>
 
-         /// <returns>The new sheet</returns>
 
-         public ISheet NewSheet(string name);
 
-         /// <summary>
 
-         /// Make a new sheet and add it to the spreadsheet
 
-         /// </summary>
 
-         /// <returns>The new sheet</returns>
 
-         public ISheet NewSheet();
 
-         public IEnumerable<ISheet> Sheets();
 
-         public IEnumerator<ISheet> SheetEnumerator();
 
-         public ICellStyle NewStyle();
 
-         public IDataFormat GetDataFormat(string format);
 
-         public void Write(FileStream file);
 
-         public void Write(string filename, FileMode mode = FileMode.Create);
 
-     }
 
- }
 
 
  |