<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2026 Workiva-->
<!--r:019d989b-bcc8-7cca-85aa-22d880b6c8d5,g:98cc93f1-191c-4b12-95b0-5ac4bc0a4cad-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="https://xbrl.org/2023/arcrole/summation-item" xlink:type="simple" xlink:href="https://www.xbrl.org/2023/calculation-1.1.xsd#summation-item"/>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="virc-20260430.xsd#UnauditedCondensedConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-7932-a068-c3c17d0b9db9" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_019d989b-bd6a-7f74-8133-27d2555ddf03" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-7932-a068-c3c17d0b9db9" xlink:to="loc_us-gaap_LongTermDebtCurrent_019d989b-bd6a-7f74-8133-27d2555ddf03" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_019d989b-bd6a-7ad1-8621-88fed47569b6" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-7932-a068-c3c17d0b9db9" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_019d989b-bd6a-7ad1-8621-88fed47569b6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_019d989b-bd6a-7cdc-ad46-c4f365110246" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-7932-a068-c3c17d0b9db9" xlink:to="loc_us-gaap_AccountsPayableCurrent_019d989b-bd6a-7cdc-ad46-c4f365110246" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_019d989b-bd6a-79a4-b12d-196b0a8623ae" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-7932-a068-c3c17d0b9db9" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_019d989b-bd6a-79a4-b12d-196b0a8623ae" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_019d989b-bd6a-7cd6-9ac1-c6b3b5b6496a" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-7932-a068-c3c17d0b9db9" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_019d989b-bd6a-7cd6-9ac1-c6b3b5b6496a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_019e89a8-9199-7f21-b703-2439c56465c3" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-7932-a068-c3c17d0b9db9" xlink:to="loc_us-gaap_TaxesPayableCurrent_019e89a8-9199-7f21-b703-2439c56465c3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_019d989b-bd6a-71e8-8cc1-4b7ad7bc8e7d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_019d989b-bd6a-77d6-920d-19cceaff75ab" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_019d989b-bd6a-71e8-8cc1-4b7ad7bc8e7d" xlink:to="loc_us-gaap_InventoryNet_019d989b-bd6a-77d6-920d-19cceaff75ab" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_019d989b-bd6a-7cb6-b849-931a416377bf" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_019d989b-bd6a-71e8-8cc1-4b7ad7bc8e7d" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_019d989b-bd6a-7cb6-b849-931a416377bf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash_019d989b-bd6a-7455-8595-041f639b935c" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_Cash"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_019d989b-bd6a-71e8-8cc1-4b7ad7bc8e7d" xlink:to="loc_us-gaap_Cash_019d989b-bd6a-7455-8595-041f639b935c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesReceivable_019d989b-bd6a-7a08-9baa-5daee1d82c8e" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncomeTaxesReceivable"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_019d989b-bd6a-71e8-8cc1-4b7ad7bc8e7d" xlink:to="loc_us-gaap_IncomeTaxesReceivable_019d989b-bd6a-7a08-9baa-5daee1d82c8e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_019d989b-bd6a-73d8-a109-fdba3797432e" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_019d989b-bd6a-71e8-8cc1-4b7ad7bc8e7d" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_019d989b-bd6a-73d8-a109-fdba3797432e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesNoncurrent_019d989b-bd6a-7847-b611-9323b519ee0f" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LiabilitiesNoncurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesNoncurrent_019d989b-bd6a-7666-a391-b535e15c81a7" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OtherAccruedLiabilitiesNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesNoncurrent_019d989b-bd6a-7847-b611-9323b519ee0f" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesNoncurrent_019d989b-bd6a-7666-a391-b535e15c81a7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_019d989b-bd6a-7ca5-80a2-9a98f98ee3cf" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesNoncurrent_019d989b-bd6a-7847-b611-9323b519ee0f" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_019d989b-bd6a-7ca5-80a2-9a98f98ee3cf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_019d989b-bd6a-7b41-aa29-33b289727b4b" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesNoncurrent_019d989b-bd6a-7847-b611-9323b519ee0f" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_019d989b-bd6a-7b41-aa29-33b289727b4b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_019d989b-bd6a-7672-831a-14a58d39caad" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_019d989b-bd6a-7200-a049-4c04daca31fb" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_019d989b-bd6a-7672-831a-14a58d39caad" xlink:to="loc_us-gaap_StockholdersEquity_019d989b-bd6a-7200-a049-4c04daca31fb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesNoncurrent_019d989b-bd6a-739b-a847-0286de591072" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LiabilitiesNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_019d989b-bd6a-7672-831a-14a58d39caad" xlink:to="loc_us-gaap_LiabilitiesNoncurrent_019d989b-bd6a-739b-a847-0286de591072" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-724c-9f0d-a9325c652a20" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_019d989b-bd6a-7672-831a-14a58d39caad" xlink:to="loc_us-gaap_LiabilitiesCurrent_019d989b-bd6a-724c-9f0d-a9325c652a20" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_019d989b-bd6a-7940-bf85-7c4a8a12d90d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_019d989b-bd6a-7672-831a-14a58d39caad" xlink:to="loc_us-gaap_CommitmentsAndContingencies_019d989b-bd6a-7940-bf85-7c4a8a12d90d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_019d989b-bd6a-730e-84ee-a51304da3c1f" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_019d989b-bd6a-7b41-b594-133cfaf1e197" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_019d989b-bd6a-730e-84ee-a51304da3c1f" xlink:to="loc_us-gaap_PreferredStockValue_019d989b-bd6a-7b41-b594-133cfaf1e197" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_019d989b-bd6a-73ae-9986-5456d4c1f72f" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_019d989b-bd6a-730e-84ee-a51304da3c1f" xlink:to="loc_us-gaap_CommonStockValue_019d989b-bd6a-73ae-9986-5456d4c1f72f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_019d989b-bd6a-7eec-9111-4f18fd381ad6" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_019d989b-bd6a-730e-84ee-a51304da3c1f" xlink:to="loc_us-gaap_AdditionalPaidInCapital_019d989b-bd6a-7eec-9111-4f18fd381ad6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_019d989b-bd6a-737c-96bf-8e89b0684347" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_019d989b-bd6a-730e-84ee-a51304da3c1f" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_019d989b-bd6a-737c-96bf-8e89b0684347" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_019d989b-bd6a-7205-85b2-dad7c7e9b544" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_019d989b-bd6a-730e-84ee-a51304da3c1f" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_019d989b-bd6a-7205-85b2-dad7c7e9b544" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_019d989b-bd6a-7513-b7e8-b682d155471d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_019d989b-bd6a-7994-ac09-e63ed6c2ee45" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_019d989b-bd6a-7513-b7e8-b682d155471d" xlink:to="loc_us-gaap_AssetsCurrent_019d989b-bd6a-7994-ac09-e63ed6c2ee45" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_019d989b-bd6a-7932-a13b-8d40468fcedb" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_019d989b-bd6a-7513-b7e8-b682d155471d" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_019d989b-bd6a-7932-a13b-8d40468fcedb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_019d989b-bd6a-75aa-b802-c88c36474e01" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_019d989b-bd6a-7513-b7e8-b682d155471d" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_019d989b-bd6a-75aa-b802-c88c36474e01" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_019d989b-bd6a-7a1c-8415-9b0fd420eda3" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_019d989b-bd6a-7513-b7e8-b682d155471d" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_019d989b-bd6a-7a1c-8415-9b0fd420eda3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_019d989b-bd6a-7456-a3a2-b847a0bb3ffe" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_019d989b-bd6a-7513-b7e8-b682d155471d" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_019d989b-bd6a-7456-a3a2-b847a0bb3ffe" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="virc-20260430.xsd#UnauditedCondensedConsolidatedStatementsofOperations"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_019d989b-bd6a-79cf-9cbe-8d8d3496a785" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_019d989b-bd6a-76ef-9ea2-a94661fb5e4f" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_019d989b-bd6a-79cf-9cbe-8d8d3496a785" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_019d989b-bd6a-76ef-9ea2-a94661fb5e4f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_019d989b-bd6a-722d-914f-1a1ab35b6940" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_019d989b-bd6a-79cf-9cbe-8d8d3496a785" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_019d989b-bd6a-722d-914f-1a1ab35b6940" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_019d989b-bd6a-71b3-9a0e-67eead9518cb" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent_019d989b-bd6a-77a2-bfbc-2da34d4a7ac0" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_019d989b-bd6a-71b3-9a0e-67eead9518cb" xlink:to="loc_us-gaap_NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent_019d989b-bd6a-77a2-bfbc-2da34d4a7ac0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrealizedGainLossOnInvestments_019d989b-bd6a-7311-87f5-d313ddd68fc2" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_UnrealizedGainLossOnInvestments"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_019d989b-bd6a-71b3-9a0e-67eead9518cb" xlink:to="loc_us-gaap_UnrealizedGainLossOnInvestments_019d989b-bd6a-7311-87f5-d313ddd68fc2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_019d989b-bd6a-76e5-8d9a-285c1b880922" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_InterestExpense"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_019d989b-bd6a-71b3-9a0e-67eead9518cb" xlink:to="loc_us-gaap_InterestExpense_019d989b-bd6a-76e5-8d9a-285c1b880922" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_019d989b-bd6a-799d-9b51-b41299fde258" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_019d989b-bd6a-71b3-9a0e-67eead9518cb" xlink:to="loc_us-gaap_OperatingIncomeLoss_019d989b-bd6a-799d-9b51-b41299fde258" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_019d989b-bd6a-76bb-a3ab-786607977927" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_019d989b-bd6a-7818-9fdb-e7ec7ccccb83" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_019d989b-bd6a-76bb-a3ab-786607977927" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_019d989b-bd6a-7818-9fdb-e7ec7ccccb83" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_019d989b-bd6a-73a5-abf6-61dc35cc6137" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_019d989b-bd6a-76bb-a3ab-786607977927" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_019d989b-bd6a-73a5-abf6-61dc35cc6137" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_019d989b-bd6a-7ad0-89f7-37a3adad2855" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_019d989b-bd6a-7e96-a1bb-b56f3b855e0b" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_019d989b-bd6a-7ad0-89f7-37a3adad2855" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_019d989b-bd6a-7e96-a1bb-b56f3b855e0b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_019d989b-bd6a-70a3-b9e6-859d14116873" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_019d989b-bd6a-7ad0-89f7-37a3adad2855" xlink:to="loc_us-gaap_GrossProfit_019d989b-bd6a-70a3-b9e6-859d14116873" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLossIncome" xlink:type="simple" xlink:href="virc-20260430.xsd#UnauditedCondensedConsolidatedStatementsofComprehensiveLossIncome"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLossIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_019d989b-bd6a-71d8-8d9b-7502812f83ca" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_019d989b-bd6a-7cc0-b8d6-61db03d90939" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_019d989b-bd6a-71d8-8d9b-7502812f83ca" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_019d989b-bd6a-7cc0-b8d6-61db03d90939" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_019d989b-bd6a-74dd-8105-fdc1fc834ea3" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_019d989b-bd6a-71d8-8d9b-7502812f83ca" xlink:to="loc_us-gaap_NetIncomeLoss_019d989b-bd6a-74dd-8105-fdc1fc834ea3" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="virc-20260430.xsd#UnauditedCondensedConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_019d989b-bd6a-7f45-95c0-32a8bf212b86" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_019d989b-bd6a-701d-8969-5b9a51c9544e" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_019d989b-bd6a-7f45-95c0-32a8bf212b86" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_019d989b-bd6a-701d-8969-5b9a51c9544e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDividends_019d989b-bd6a-71ab-8af0-f8a16e6fe1c4" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_PaymentsOfDividends"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_019d989b-bd6a-7f45-95c0-32a8bf212b86" xlink:to="loc_us-gaap_PaymentsOfDividends_019d989b-bd6a-71ab-8af0-f8a16e6fe1c4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_019e89bc-1968-77c1-bec5-2960b430be0a" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_019d989b-bd6a-7f45-95c0-32a8bf212b86" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_019e89bc-1968-77c1-bec5-2960b430be0a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_019d989b-bd6a-7f71-917c-5318d5a2b8e9" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_019d989b-bd6a-7f71-917c-5318d5a2b8e9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_019d989b-bd6a-7c88-b303-68a7d9d46fa2" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_NetIncomeLoss_019d989b-bd6a-7c88-b303-68a7d9d46fa2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_019d989b-bd6a-711e-9a93-5e116027797e" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_019d989b-bd6a-711e-9a93-5e116027797e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_019d989b-bd6a-7e2d-8146-7eaffa02da22" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_019d989b-bd6a-7e2d-8146-7eaffa02da22" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrealizedGainLossOnInvestments_019d989b-bd6a-7ae4-aa81-090d1c3afb3e" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_UnrealizedGainLossOnInvestments"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_UnrealizedGainLossOnInvestments_019d989b-bd6a-7ae4-aa81-090d1c3afb3e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_019d989b-bd6a-7197-bdf1-e19cec7db00d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_019d989b-bd6a-7197-bdf1-e19cec7db00d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInIncomeTaxes_019d989b-bd6a-760e-a8fe-dbcd5c6a30f7" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_IncreaseDecreaseInIncomeTaxes_019d989b-bd6a-760e-a8fe-dbcd5c6a30f7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts_019d989b-bd6a-7067-bed8-3807bdddf642" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_AmortizationOfFinancingCosts"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_AmortizationOfFinancingCosts_019d989b-bd6a-7067-bed8-3807bdddf642" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_019d989b-bd6a-79b0-bc93-3f914dcc2e01" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_019d989b-bd6a-79b0-bc93-3f914dcc2e01" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_019d989b-bd6a-7f48-8390-2debce8b0351" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_019d989b-bd6a-7f48-8390-2debce8b0351" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax_019d989b-bd6a-7aeb-875e-1316794fdbc0" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax_019d989b-bd6a-7aeb-875e-1316794fdbc0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_019d989b-bd6a-78f7-bcdf-c034614b7e26" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_019d989b-bd6a-78f7-bcdf-c034614b7e26" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_NoncashRentExpense_019d989b-bd6a-7692-9834-d5e8f3ff7368" xlink:href="virc-20260430.xsd#virc_NoncashRentExpense"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_virc_NoncashRentExpense_019d989b-bd6a-7692-9834-d5e8f3ff7368" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_019d989b-bd6a-7bf8-9d04-c0492046e529" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_us-gaap_ShareBasedCompensation_019d989b-bd6a-7bf8-9d04-c0492046e529" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_SurrenderOfLifeInsurancePolicies_019d989b-bd6a-7284-8212-fc18b31795be" xlink:href="virc-20260430.xsd#virc_SurrenderOfLifeInsurancePolicies"/>
    <link:calculationArc order="15" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7058-9e48-6355d6a8bfcb" xlink:to="loc_virc_SurrenderOfLifeInsurancePolicies_019d989b-bd6a-7284-8212-fc18b31795be" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_019d989b-bd6a-7473-af78-b93ff7ae3d4d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7c75-8f8f-5a79c35f1827" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_019d989b-bd6a-7473-af78-b93ff7ae3d4d" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_019d989b-bd6a-7c75-8f8f-5a79c35f1827" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_019d989b-bd6a-77ee-af5d-fde7f0132ab4" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_019d989b-bd6a-7473-af78-b93ff7ae3d4d" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_019d989b-bd6a-77ee-af5d-fde7f0132ab4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_019d989b-bd6a-766a-ac98-3675ca64b78d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_019d989b-bd6a-7473-af78-b93ff7ae3d4d" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_019d989b-bd6a-766a-ac98-3675ca64b78d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_019d989b-bd6a-7c65-8384-7e6518c19560" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_019d989b-bd6a-7948-b973-735561943312" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_019d989b-bd6a-7c65-8384-7e6518c19560" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_019d989b-bd6a-7948-b973-735561943312" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/InventoriesDetails" xlink:type="simple" xlink:href="virc-20260430.xsd#InventoriesDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/InventoriesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_019d989b-bd6a-7e55-b522-3b18f8a86724" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_019d989b-bd6a-7044-ade7-bc5a856e963d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_019d989b-bd6a-7e55-b522-3b18f8a86724" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_019d989b-bd6a-7044-ade7-bc5a856e963d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_019d989b-bd6a-7efd-9f56-1b3bc548995a" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_019d989b-bd6a-7e55-b522-3b18f8a86724" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_019d989b-bd6a-7efd-9f56-1b3bc548995a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_019d989b-bd6a-7e6a-9bab-2c680652a41f" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_019d989b-bd6a-7e55-b522-3b18f8a86724" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_019d989b-bd6a-7e6a-9bab-2c680652a41f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails" xlink:type="simple" xlink:href="virc-20260430.xsd#LeasesASC842QuantitativeInformationDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/LeasesASC842QuantitativeInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_019d989b-bd6a-78a5-8d08-78546a4338c6" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LeaseCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_VariableLeaseCostNetOfBenefit_019d989b-bd6a-7e28-8c56-bf44a6cdd19a" xlink:href="virc-20260430.xsd#virc_VariableLeaseCostNetOfBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_019d989b-bd6a-78a5-8d08-78546a4338c6" xlink:to="loc_virc_VariableLeaseCostNetOfBenefit_019d989b-bd6a-7e28-8c56-bf44a6cdd19a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_019d989b-bd6a-7711-94de-ba65bc2271c2" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_SubleaseIncome"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_019d989b-bd6a-78a5-8d08-78546a4338c6" xlink:to="loc_us-gaap_SubleaseIncome_019d989b-bd6a-7711-94de-ba65bc2271c2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost_019d989b-bd6a-7b61-84d0-3e6626230077" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_019d989b-bd6a-78a5-8d08-78546a4338c6" xlink:to="loc_us-gaap_ShortTermLeaseCost_019d989b-bd6a-7b61-84d0-3e6626230077" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_019d989b-bd6a-7ccf-b915-44180973235b" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingLeaseCost"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_019d989b-bd6a-78a5-8d08-78546a4338c6" xlink:to="loc_us-gaap_OperatingLeaseCost_019d989b-bd6a-7ccf-b915-44180973235b" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails" xlink:type="simple" xlink:href="virc-20260430.xsd#LeasesASC842MinimumLeasePaymentsDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-71dc-8f30-e9be8218e5e8" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_019d989b-bd6a-79e6-8208-469bcf9a3a9e" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-71dc-8f30-e9be8218e5e8" xlink:to="loc_us-gaap_OperatingLeaseLiability_019d989b-bd6a-79e6-8208-469bcf9a3a9e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_019d989b-bd6a-7ce2-9182-72c63342ca74" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-71dc-8f30-e9be8218e5e8" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_019d989b-bd6a-7ce2-9182-72c63342ca74" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_019d989b-bd6a-7d14-82ce-35f0062ad939" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_019d989b-bd6a-764f-8786-035378e74672" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_019d989b-bd6a-7d14-82ce-35f0062ad939" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_019d989b-bd6a-764f-8786-035378e74672" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_019d989b-bd6a-775e-b5c8-b95e37d586f0" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_019d989b-bd6a-7d14-82ce-35f0062ad939" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_019d989b-bd6a-775e-b5c8-b95e37d586f0" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1" xlink:type="simple" xlink:href="virc-20260430.xsd#LeasesASC842MinimumLeasePaymentsDetails_1"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/LeasesASC842MinimumLeasePaymentsDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-7a34-8bd4-c1fb2efbe668" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_019d989b-bd6a-7044-be95-a36b3cd4014d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-7a34-8bd4-c1fb2efbe668" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_019d989b-bd6a-7044-be95-a36b3cd4014d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_019d989b-bd6a-71ab-8a97-fe1d611d3b82" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-7a34-8bd4-c1fb2efbe668" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_019d989b-bd6a-71ab-8a97-fe1d611d3b82" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_019d989b-bd6a-76fe-b370-6ef1f1555174" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-7a34-8bd4-c1fb2efbe668" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_019d989b-bd6a-76fe-b370-6ef1f1555174" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_019d989b-bd6a-7f99-9609-2d8c61a41cc0" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-7a34-8bd4-c1fb2efbe668" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_019d989b-bd6a-7f99-9609-2d8c61a41cc0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_019d989b-bd6a-7aad-8b51-4e34444f062a" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-7a34-8bd4-c1fb2efbe668" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_019d989b-bd6a-7aad-8b51-4e34444f062a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_019d989b-bd6a-7ed9-812e-2dc41eb1e9cc" xlink:href="virc-20260430.xsd#virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_019d989b-bd6a-7a34-8bd4-c1fb2efbe668" xlink:to="loc_virc_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_019d989b-bd6a-7ed9-812e-2dc41eb1e9cc" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/DebtLongtermDebtDetails" xlink:type="simple" xlink:href="virc-20260430.xsd#DebtLongtermDebtDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/DebtLongtermDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_019d989b-bd6a-7a4e-8d7d-900c77c4af2c" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LongTermDebt"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_019d989b-bd6a-728c-b64e-4898fed31598" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_019d989b-bd6a-7a4e-8d7d-900c77c4af2c" xlink:to="loc_us-gaap_LongTermDebtCurrent_019d989b-bd6a-728c-b64e-4898fed31598" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_019d989b-bd6a-7203-b3ed-259aded8b98d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_019d989b-bd6a-7a4e-8d7d-900c77c4af2c" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_019d989b-bd6a-7203-b3ed-259aded8b98d" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/NetIncomeLossperShareDetails" xlink:type="simple" xlink:href="virc-20260430.xsd#NetIncomeLossperShareDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/NetIncomeLossperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_019d989b-bd6a-7b7f-9920-2af58c329823" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_019d989b-bd6a-7eba-a2c2-5a324c8d61c4" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_019d989b-bd6a-7b7f-9920-2af58c329823" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_019d989b-bd6a-7eba-a2c2-5a324c8d61c4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_019d989b-bd6a-752a-ad64-b193e1c50550" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_019d989b-bd6a-7b7f-9920-2af58c329823" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_019d989b-bd6a-752a-ad64-b193e1c50550" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails" xlink:type="simple" xlink:href="virc-20260430.xsd#RetirementPlansPeriodicPensionCostDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/RetirementPlansPeriodicPensionCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_019d989b-bd6a-7c76-ae28-8435cf207cee" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanServiceCost_019d989b-bd6a-7aca-a102-8614dffefb33" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DefinedBenefitPlanServiceCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_019d989b-bd6a-7c76-ae28-8435cf207cee" xlink:to="loc_us-gaap_DefinedBenefitPlanServiceCost_019d989b-bd6a-7aca-a102-8614dffefb33" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_019d989b-bd6a-7111-a3a3-6a0e69bbaa9f" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_019d989b-bd6a-7c76-ae28-8435cf207cee" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_019d989b-bd6a-7111-a3a3-6a0e69bbaa9f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_019d989b-bd6a-75a8-85ed-4bc39bc11ea4" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_019d989b-bd6a-7c76-ae28-8435cf207cee" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets_019d989b-bd6a-75a8-85ed-4bc39bc11ea4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_019d989b-bd6a-7439-b4da-6d6859797e69" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_019d989b-bd6a-7c76-ae28-8435cf207cee" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement_019d989b-bd6a-7439-b4da-6d6859797e69" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_019d989b-bd6a-7f3f-a0c4-9f0dfe081537" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_019d989b-bd6a-7c76-ae28-8435cf207cee" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_019d989b-bd6a-7f3f-a0c4-9f0dfe081537" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_019d989b-bd6a-778e-909c-da9c6fd8170d" xlink:href="virc-20260430.xsd#virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_019d989b-bd6a-7c76-ae28-8435cf207cee" xlink:to="loc_virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss_019d989b-bd6a-778e-909c-da9c6fd8170d" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.virco.com/role/PropertyPlantandEquipmentDetails" xlink:type="simple" xlink:href="virc-20260430.xsd#PropertyPlantandEquipmentDetails"/>
  <link:calculationLink xlink:role="http://www.virco.com/role/PropertyPlantandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_019d989b-bd6a-7380-9135-f0fbacaaba5d" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_019d989b-bd6a-78e3-9012-2b49744c391b" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_019d989b-bd6a-7380-9135-f0fbacaaba5d" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_019d989b-bd6a-78e3-9012-2b49744c391b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_019d989b-bd6a-7e35-b12f-3350601d29ee" xlink:href="https://xbrl.fasb.org/us-gaap/2026/elts/us-gaap-2026.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_019d989b-bd6a-7380-9135-f0fbacaaba5d" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_019d989b-bd6a-7e35-b12f-3350601d29ee" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
