本文整理汇总了C#中XlsFile.GetCellValue方法的典型用法代码示例。如果您正苦于以下问题:C# XlsFile.GetCellValue方法的具体用法?C# XlsFile.GetCellValue怎么用?C# XlsFile.GetCellValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XlsFile
的用法示例。
在下文中一共展示了XlsFile.GetCellValue方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadDataTable
/// <summary>
/// Читает данные с текущего листа XLS-файла.
/// </summary>
/// <param name="xlsFile">XSL-файл.</param>
/// <returns>Таблица с прочитанными данными.</returns>
private static DataTable ReadDataTable(XlsFile xlsFile)
{
// установить имя таблицы
DataTable table = new DataTable(xlsFile.GetSheetName(xlsFile.ActiveSheet));
// первая строка - названия столбцов
// вторая строка - типы столбцов
if (xlsFile.RowCount < 2)
throw new CoreInvalidOperationException(Resources.ResourceManager.GetString("InvalidFileFormatException"));
// прочитать имена столбцов для таблицы
for (int col = 0; col < xlsFile.ColCount; col++)
{
if (xlsFile.GetCellValue(1, col + 1) == null)
break;
// прочитать тип столбца
Type columnType = Type.GetType(xlsFile.GetCellValue(2, col + 1).ToString(), false);
if (columnType == null)
throw new CoreInvalidOperationException(Resources.ResourceManager.GetString("InvalidFileFormatException"));
table.Columns.Add(xlsFile.GetCellValue(1, col + 1).ToString(), columnType);
}
// прочитать данные
int rowFrom = 2;
/* XlsFile тупо обрабатывает
* вложенные картинки. Поместить картинку в определённую клетку можно,
* а вот взять её из клетки нельзя. Взять картинку можно только из массива
* рисунков Excel, начинающегося почему то с 2 (хотя в доке написано ч 1!).
* Будем надеяться, что они там в правильном порядке лежат.
*/
int imageCount = 2;
for (int row = rowFrom; row < xlsFile.RowCount; ++row)
{
// Т.к. XlsFile очень часто врёт по поводу количества строк в файле,
// то мы подстраховываемся таким образом. Считаем, что данные кончились,
// если колонка 'A' в строке пустая
if (xlsFile.GetCellValue(row + 1, 1) == null)
break;
object[] values = new object[table.Columns.Count];
for(int col = 0; col < table.Columns.Count; ++col)
{
if(table.Columns[col].DataType == typeof( byte[] ))
{
TXlsImgType imageType = TXlsImgType.Unknown;
values[col] = ConvertValue( xlsFile.GetImage( imageCount++, ref imageType ),
table.Columns[col].DataType );
}
else
{
values[col] = ConvertValue( xlsFile.GetCellValue( row + 1, col + 1 ),
table.Columns[col].DataType );
}
}
table.Rows.Add(values);
}
return table;
}
示例2: LerTitulosAba
public static DataTable LerTitulosAba(XlsFile excel)
{
DataTable tabela = new DataTable();
int qtdeColunas = excel.ColCountOnlyData;
for (int cont = 1; cont <= qtdeColunas; cont++)
{
Object coluna = excel.GetCellValue(1, cont);
if (coluna != null)
{
try
{
tabela.Columns.Add(coluna.ToString());
}
catch (DuplicateNameException)
{
string nomeArquivo = excel.ActiveFileName.Split('\\')[excel.ActiveFileName.Split('\\').Length - 1],
aba = excel.ActiveSheetByName;
throw new Exception("O arquivo \"" + nomeArquivo + "\"" + ", na aba \"" + aba + "\", está com o nome de coluna \"" + coluna.ToString() + "\" duplicada. \n\n Por favor renomeie a coluna e salve o arquivo antes de prosseguir.");
}
}
}
return tabela;
}
示例3: SaveExcel
public void SaveExcel(string path, string hd_tally_sheet_id)
{
XlsFile myFile = new XlsFile(path);
myFile.ActiveSheet = 1;
int rowCount = myFile.RowCount;
int colCount = myFile.ColCount;
for (int i = 2; i <= rowCount; i++)
{
if (myFile.GetCellValue(i, 1) == null)
{
break;
}
Puntland_Port_Taxation.Tally_Sheet_Details tsheet = new Tally_Sheet_Details();
tsheet.tally_sheet_id = int.Parse(hd_tally_sheet_id);
tsheet.way_bill_code = myFile.GetCellValue(i, 1).ToString();
tsheet.goods_name = myFile.GetCellValue(i, 2).ToString();
tsheet.units = (myFile.GetCellValue(i, 3).ToString());
tsheet.quantity = myFile.GetCellValue(i, 4).ToString();
tsheet.unit_of_measure = (myFile.GetCellValue(i, 5).ToString());
tsheet.total_quantity = (myFile.GetCellValue(i, 6).ToString());
db.Tally_Sheet_Details.Add(tsheet);
db.SaveChanges();
}
}
示例4: SaveExcel
public int SaveExcel(string path)
{
XlsFile myFile = new XlsFile(path);
myFile.ActiveSheet = 1;
int rowCount = myFile.RowCount;
int colCount = myFile.ColCount;
//get from excel sheets
int from_currency_id_ = 0;
int to_currency_id_ = 0;
decimal newrate = 0;
string yyyymmdd = string.Empty;
int updated_record_count = 0;
for (int i = 2; i <= rowCount; i++)
{
//for (int j = 1; j <= colCount; j++)
//{
if (myFile.GetCellValue(i, 1) == null)
{
break;
}
from_currency_id_ = GetCurrencyId(myFile.GetCellValue(i, 1).ToString());
to_currency_id_ = GetCurrencyId(myFile.GetCellValue(i, 3).ToString());
newrate = CheckDecimal(myFile.GetCellValue(i, 5).ToString());
yyyymmdd = GetDateTime(myFile.GetCellValue(i, 6).ToString());
if (from_currency_id_.Equals(0) || to_currency_id_.Equals(0) || yyyymmdd.Equals("0") || newrate.Equals(0))
goto skipSave;
updated_record_count++;
//update the old data
var updateOld = from ord in db.Exchange_Rate
where ord.from_currency_id == from_currency_id_ && ord.to_currency_id == to_currency_id_ && ord.end_date == "9999/12/31"
select ord;
foreach (Exchange_Rate ord in updateOld)
{
ord.end_date = yyyymmdd;
}
db.SaveChanges();
//adding a new record
Exchange_Rate myDm = new Exchange_Rate();
myDm.from_currency_id = from_currency_id_;
myDm.to_currency_id = to_currency_id_;
myDm.month_id = 1;
myDm.exchange_rate1 = newrate;
myDm.start_date = yyyymmdd;
myDm.end_date = "9999/12/31";
db.Exchange_Rate.Add(myDm);
db.SaveChanges();
skipSave:
continue;
//}
}
return updated_record_count;
}
示例5: GerarExcel
public void GerarExcel(string Nome_Arquivo_Origem,string Nome_Arquivo_Destino, int CodLayout, Dados d, ProgressBar statusGeracaoArquivo)
{
// Criando Aplicação
XlsFile excelDestino = new XlsFile();
XlsFile excelOrigem = new XlsFile();
excelOrigem.Open(Nome_Arquivo_Origem);
int QtdeLinhas = excelOrigem.RowCount;
//Gerando arquivo de saída
for (int i = 1; i <= excelOrigem.SheetCount; i++)
{
excelOrigem.ActiveSheet = i;
excelDestino.NewFile(1);
//LEITURA DOS DADOS ABAS
int qtdeColunas = excelOrigem.ColCountOnlyData;
if (qtdeColunas > 0)
{
for (int cont = 1; cont <= qtdeColunas; cont++)
{
Object titulo = excelOrigem.GetCellValue(1, cont);
if (titulo != null)
{
string LetraColuna = d.PosicaoVinculada(CodLayout, titulo.ToString());
int numeroColuna;
try
{
numeroColuna = Convert.ToInt16(LetraColuna);
}
catch (Exception)
{
numeroColuna = LetrasParaNumero(LetraColuna);
}
if (LetraColuna != null)
{
excelDestino.InsertAndCopyRange(
new TXlsCellRange(1, cont, QtdeLinhas, cont),
1,
numeroColuna,
1,
TFlxInsertMode.NoneRight,
TRangeCopyMode.All,
excelOrigem,
i
);
}
}
}
int c = 0;
string novoNomeArquivo = Path.GetDirectoryName(Nome_Arquivo_Destino) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(Nome_Arquivo_Destino) + "_" + excelOrigem.SheetName + Path.GetExtension(Nome_Arquivo_Destino);
while (File.Exists(novoNomeArquivo))
{
c++;
novoNomeArquivo = Path.GetDirectoryName(Nome_Arquivo_Destino) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(Nome_Arquivo_Destino) + "_" + excelOrigem.SheetName + i + Path.GetExtension(Nome_Arquivo_Destino);
}
excelDestino.Save(novoNomeArquivo);
}
statusGeracaoArquivo.Value = statusGeracaoArquivo.Value + 1;
}
}
示例6: SaveExcel
public void SaveExcel(string path, string hd_tally_sheet_id)
{
XlsFile myFile = new XlsFile(path);
myFile.ActiveSheet = 1;
int rowCount = myFile.RowCount;
int colCount = myFile.ColCount;
for (int i = 2; i <= rowCount; i++)
{
if (myFile.GetCellValue(i, 1) == null || myFile.GetCellValue(i, 2) == null || myFile.GetCellValue(i, 3) == null || myFile.GetCellValue(i, 4) == null)
{
continue;
}
Puntland_Port_Taxation.Tally_Sheet_Details tsheet = new Tally_Sheet_Details();
tsheet.tally_sheet_id = int.Parse(hd_tally_sheet_id);
tsheet.way_bill_code = myFile.GetCellValue(i, 1).ToString().Trim();
tsheet.importer_name = myFile.GetCellValue(i, 2).ToString().Trim();
tsheet.goods_name = myFile.GetCellValue(i, 3).ToString();
tsheet.total_quantity = Convert.ToInt32((myFile.GetCellValue(i, 4).ToString()));
tsheet.unit_of_measure = (myFile.GetCellValue(i, 5).ToString());
var damaged = (myFile.GetCellValue(i, 6).ToString());
damaged = damaged.ToLower();
if (damaged == "yes")
{
tsheet.is_damaged = true;
}
else
{
tsheet.is_damaged = false;
}
db.Tally_Sheet_Details.Add(tsheet);
db.SaveChanges();
}
}