워크 시트에서 모든 수식을 제거하고 (수식을 그 결과로 바꾸기) 파일을 저장해야합니다. 예를 들어 - 어떤 공식이없는 저장 한 후 - 대신 B3 + 13 나는이 글 http://office.microsoft.com/en-us/excel-help/replace-a-formula-with-its-result-HP010066258.aspx다시 계산 된 Excel 파일 저장
그것은 작동을 발견 OpenXML을
을 사용하여 파일을 열 때 셀에 2013년 4월 11일을 갖고 싶어. 나는 C#에서 같은 효과가 필요하다. 나는 인터넷에서 많은 해결책을 시도했지만 여전히 희망이 없다.
string source = @"C:\Source\doc.xlsx";
object Unknown = Type.Missing;
Workbook doc = newApp.Workbooks.Open(
source,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown);
newApp.Calculation = Microsoft.Office.Interop.Excel.XlCalculation.xlCalculationManual;
doc.ForceFullCalculation = true;
newApp.CalculateFull();
newApp.CalculateBeforeSave = true;
doc.SaveAs("c:\\temp\\recalc.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
doc.Close();
그래서 무엇이 문제인가? 왜 "2013-04-11"대신 "= DY3 + 1"을 볼 수 있습니까?
Interop을 사용하여 모든 시트를 반복적으로 만드는 방법은 무엇입니까? OpenXML에서이 작업을 수행하는 방법 만 알고 있습니다. –
통합 문서 개체의 이름이 "doc"인 경우 foreach 루프를 반복하여 응답을 업데이트했습니다. –
우수 :) 작동 :) 감사합니다 :) targetRange.PasteSpecial (..) 붙여 넣기 (..) –