Я добавил PadLeft(8,'0')
в свой код, чтобы убедиться, что все учетные записи, вставленные в таблицу базы данных, имели длину не менее 8 символов. Вот код:Padleft не добавляет ведущие нули
public static string CleanAccount(String strVal)
{
string cleanValue;
string paddedAccount = strVal.PadLeft(8,'0');
//MessageBox.Show("account: " + paddedAccount);
if (paddedAccount == null)
{
throw new System.ArgumentException("Value cannot be null", "original");
}
else
{
cleanValue = paddedAccount.Replace(" ", "").Replace("$", "").Replace("-", "");
}
return cleanValue;
}
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets.get_Item(1);
Microsoft.Office.Interop.Excel.Range xlRange = worksheet.UsedRange;
long fullRow = worksheet.Rows.Count;
long lastRow = worksheet.Cells[fullRow, 1].End(Microsoft.Office.Interop.Excel.XlDirection.xlUp).Row;
int colCount = xlRange.Columns.Count;
for (int i = 2; i <= lastRow; i++)
{
lstTran.Add(new LegalTransactionRec()
{
AccountNumber = Form1.CleanAccount(xlRange.Cells[i, 1].Value2.ToString()),
CostAmount = Form1.CleanAmount(Form1.TryToParse(xlRange.Cells[i, 3].Value2.ToString())),
SSN = Form1.CleanString(xlRange.Cells[i, 6].Value2.ToString()),
TransactionDate = Form1.ConvertToDateTime(xlRange.Cells[i, 2].Value),
Description = Form1.CleanDescription(xlRange.Cells[i, 8].Value2.ToString()),
TransactionCode = Form1.CleanTranCode(Form1.CleanExtra(xlRange.Cells[i, 4].Value2.ToString()))
}
);
}
Когда MessageBox
не заметил, что я вижу, что счет действительно получает мягкий, но после того, как он будет добавлен в таблицу базы данных она показывает без ведущего нуля , Любая причина, почему это произойдет?
почему вы использовали 'для (Int J = 1, J <= 1; j ++)'? когда 'j <= 1' делает его бесполезным, и вы не используете' j' внутри цикла. вы можете удалить его. –
@WasifHossain Bandaid на данный момент, мне не нужно знать, в какой позиции находится столбец. – user2405778
Я случайно предполагаю, что это имеет какое-то отношение к типу столбца таблицы или форматированию ячейки электронной таблицы. Невозможно сказать, какой. Таким образом, вы видите число вместо строки, а числа не имеют начальных нулей. –