我已经搜索了所有内容,但没有人遇到与我相同的问题。
基本上,用户单击 Excel 中的一个单元格,打开我的表单,填写值,单击插入。将这些变量添加到数组中的程序,然后 Excel 读取并放置该数组。
这是我的第一个 Office 应用程序,所以我在这里完全是盲目的,但这是我的伪代码。
我的解决方案已编辑:
static string GetColumnLetter(int columnNumber)
{
var dividend = columnNumber;
var columnName = String.Empty;
while (dividend > 0)
{
var modulo = (dividend - 1) % 26;
columnName = Convert.ToChar(65 + modulo) + columnName;
dividend = ((dividend - modulo) / 26);
}
return columnName;
}
// Insert into Excel
public static void ExcelInsert(string mFunction, string mColor, int mQty, string mFau, string mPrice)
{
var values = new List<string>
{
mFunction,
mColor,
mQty.ToString(),
mFau,
mPrice
}.ToArray();
var rowNumber = Globals.ThisAddIn.Application.ActiveCell.Row;
var columnNumber = Globals.ThisAddIn.Application.ActiveCell.Column;
var columnLetter = GetColumnLetter(columnNumber);
for (var i = 0; i < values.Count(); i++ )
{
var range = Globals.ThisAddIn.Application.Range[String.Format("{0}{1}", columnLetter, rowNumber)];
range.Value = values[i];
columnNumber++;
columnLetter = GetColumnLetter(columnNumber);
}
}